javascript 程序触发事件和实际触发有什么区别
为了用程序模拟鼠标移动到某个图片上的事件,写了以下程序getSession().getEval("varobjBtn=window.document.getElement...
为了用程序模拟鼠标移动到某个图片上的事件, 写了以下程序
getSession().getEval("var objBtn=window.document.getElementById('prodImageCell');" +
"var tevent = document.createEvent('MouseEvents');" +
"tevent.initEvent('mousemove',true,true,document.defaultView,220,220,200,170,0,false,false,false,false,0,null);" +
"objBtn.dispatchEvent(tevent);");
但是程序好像没有触发鼠标移动事件,而手动鼠标移动则触发,
哪位高人能告诉这是怎么回事? 展开
getSession().getEval("var objBtn=window.document.getElementById('prodImageCell');" +
"var tevent = document.createEvent('MouseEvents');" +
"tevent.initEvent('mousemove',true,true,document.defaultView,220,220,200,170,0,false,false,false,false,0,null);" +
"objBtn.dispatchEvent(tevent);");
但是程序好像没有触发鼠标移动事件,而手动鼠标移动则触发,
哪位高人能告诉这是怎么回事? 展开
展开全部
这个不跨浏览器,不是所有浏览器都支持直接引发事件
追问
现在的问题是, 我用程序模拟mousemove 事件在一个界面元素上, 手动触发情况下 应该显示一个图像,并执行一些操作, 但是程序模拟这种情况就总不出现。 如果手动鼠标移到该控件上, 该程序才能成功。 现在想不用手动 ,如何让程序自动触发移动事件?
追答
不可以,鼠标这种底层设备的事件一般不能摸拟,如果可以模拟的话,容易造成攻击漏洞。你可以操作再进一步的程序,比如直接执行handler,或者直接运行handler所造成的效果等等
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询