平常大部分情况下是不需要触发元素的原生事件,但是有时很有必要模拟原生事件就会用到,直接看代码:
/**
* 触发元素的原生事件
*@params elem <HTMLELEMENT>
*@params type <string> event type, such as: click, blur, focus, change ...
*@returns
*/
function fire(elem, type){
var evt;
if(document.createEventObject){// IE浏览器支持fireEvent方法
elem.fireEvent('on'+type);
}else{// 其他标准浏览器使用dispatchEvent方法
evt = document.createEvent('HTMLEvents');
// initEvent接受3个参数:
// 事件类型,是否冒泡,是否阻止浏览器的默认行为
evt.initEvent(type, true, true);
elem.dispatchEvent(evt);
}
}
本文介绍了一种在不同浏览器中触发HTML元素原生事件的方法,包括IE和其他标准浏览器的实现方式。通过简单实用的JavaScript函数,可以模拟如点击、聚焦等事件。
1075

被折叠的 条评论
为什么被折叠?



