我正在尝试使用 jQuery 模拟点击锚标记。我已经在 StackOverflow 和 Google 上挖掘了一段时间,但没有找到任何适用于我正在测试的所有浏览器的东西。到目前为止,我发现了这个:
$(document).ready(function() {
$.fn.fireEvent = function(eventType) {
return this.each(function() {
if (document.createEvent) {
var event = document.createEvent("HTMLEvents");
event.initEvent(eventType, true, true);
return !this.dispatchEvent(event);
} else {
var event = document.createEventObject();
return this.fireEvent("on" + eventType, event)
}
});
};
$('a').fireEvent('click');
});
这将在 Safari 中触发单击事件,但不会在 FireFox 或我测试的 IE 版本中触发。那么,哦,各位,我做错了什么?任何指导将不胜感激。
这应该有效...
$(function() {
fireClick($("a")[0]);
});
function fireClick(elem) {
if(typeof elem == "string") elem = document.getElementById(objID);
if(!elem) return;
if(document.dispatchEvent) { // W3C
var oEvent = document.createEvent( "MouseEvents" );
oEvent.initMouseEvent("click", true, true, window, 1, 1, 1, 1, 1, false, false, false, false, 0, elem);
elem.dispatchEvent(oEvent);
}
else if(document.fireEvent) { // IE
elem.click();
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)