gpt4 book ai didi

javascript - Firefox 5 中的 dispatchEvent

转载 作者:行者123 更新时间:2023-12-04 01:33:04 26 4
gpt4 key购买 nike

我有一些代码使用 dispatchEvent 来模拟点击,同样的代码在 Chrome 中运行良好,但在 Firefox 中不起作用。这是代码:

var evt = document.createEvent("MouseEvents");
evt.initEvent("click",true,true);
jQuery("a:contains(Next)")[0].dispatchEvent(evt);

我正在单击一个加载另一个页面的链接,该页面在 Chrome 中加载正常,但当我在 Firebug 中运行此代码时,甚至当我将其作为书签执行时,Firefox 完全没有执行任何操作。我还尝试了通过设置所有选项来初始化事件的长形式,如 MDC 文档中所示,但这并没有做任何事情。我到底做错了什么?

最佳答案

由于您的事件看起来是鼠标事件,您可能更愿意尝试使用鼠标事件,就像这个例子:

var oEvt = (document.createEvent)? document.createEvent('MouseEvents') : document.createEventObject();    
// W3C
if (oEvt.initMouseEvent)
oEvt.initMouseEvent(
/* type*/ 'mouseup',
/* bubble*/ true,
/* cancel*/ true,
/* AbstractView*/ window,
/* detail */ 10,
/* screenX */ 20,
/* screenY */ 30,
/* clientX */ 40,
/* clientY */ 50,
/* ctrlKey */ false,
/* altKey */ false,
/* shiftKey */ true,
/* metaKey */ false,
/* button */ 0,
/* relatedTarget*/ null ) ;
// MSIE
else {
var oEvt = document.createEventObject();
oEvt.detail = 10;
oEvt.screenX = 20;
oEvt.screenY = 30;
oEvt.clientX = 40;
oEvt.clientY = 50;
oEvt.ctrlKey = false;
oEvt.altKey = false;
oEvt.shiftKey = true;
oEvt.metaKey = false;
oEvt.button = 0;
oEvt.relatedTarget = null;
}

参见 W3C Mouse event types

我还用法语写了一篇关于 firing DOM events 的教程;我想翻译起来很容易。

关于javascript - Firefox 5 中的 dispatchEvent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6474893/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com