什么是jQuery的没有jQuery的“触发”方法的等价物?

什么是没有jQueryjQuerytrigger方法?

例如,我该如何做$('.blah').trigger('click'); 没有jQuery

对于“非常低劣的等价物”的某些价值:

 var button = document.getElementById("thebutton") button.click() 

并非所有的浏览器(例如Firefox!)都允许以这种方式模拟事件! 使用onclick()只适用于事件在线等。

请参阅jQuery源代码,并search“trigger:”(第一个匹配项),以查看所有“做它工作”的琐碎的东西(其中很多只是围绕jQuery内部,其他框架使得更简单的例子)。

快乐的编码。

event.initMouseEvent( “点击” …

这里是一个例子:

 function simulateClick(elId) { var evt; var el = document.getElementById(elId); if (document.createEvent) { evt = document.createEvent("MouseEvents"); evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); } (evt) ? el.dispatchEvent(evt) : (el.click && el.click()); } var foo = document.getElementById("hey"); foo.onclick = function () {alert("bar");} simulateClick("hey"); 

这是我的例子。 在所有情况下完美工作

 var d=document.createEvent("MouseEvents"), c=document.createEvent("MouseEvents"), p=document.createEvent("MouseEvents"); d.initMouseEvent("mousedown",true,true,window,0,0,0,0,0,false,false,false,false,0,null); c.initMouseEvent("click" ,true,true,window,0,0,0,0,0,false,false,false,false,0,null); p.initMouseEvent("mouseup" ,true,true,window,0,0,0,0,0,false,false,false,false,0,null); var element =// some selector; element.dispatchEvent(d); element.dispatchEvent(c); element.dispatchEvent(p);