IE9 fireevent问题

IE>=9 下时要使用标准浏览器的方法 dispatchEvent(fireEvent存在,但没效果)

http://stackoverflow.com/questions/9714527/why-does-fireevent-not-work-in-ie9

 

 

var event = document.createEvent("HTMLEvents");

event.initEvent("change",true,false);

document.getElementById("id").dispatchEvent(event);

这也是其它标准浏览器的方法

 

IE8以下

 

// IE浏览器支持fireEvent方法

   var evt = document.createEventObject();

 

    $(elementid).fireEvent('onclick', evt);

 

总体可以这样写

 

if (document.dispatchEvent){

   // 标准浏览器使用dispatchEvent方法

       var evt = document.createEvent( 'MouseEvents' );

       // initEvent接受3个参数:

       // 事件类型,是否冒泡,是否阻止浏览器的默认行为

 

       evt.initEvent('click', true, true);

       $(elementid).dispatchEvent(evt);

   }

   else{

       // IE浏览器支持fireEvent方法

      var evt = document.createEventObject();

 

       $(elementid).fireEvent('onclick', evt);

   }

 

 

还有ie9的选区也是支持标准浏览器的标准的

你可能感兴趣的:(event)