什么是jQuery的没有jQuery的“触发”方法的等价物?
什么是没有jQuery的jQuery的trigger
方法?
例如,我该如何做$('.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);