Event对象和触发

时间:2024-06-27 20:35:08

  

  1、构造:

    //非IE浏览器事件构造方法

    var event = document.createEvent('HTMLEvents');//'HTMLEvents'自定义事件名

    //IE浏览器构造方法

    var event = document.creatEventObject();

  2、事件初始化

    event.initEvent("oneating", true, true);

    3个参数:事件类型,是否冒泡,是否阻止浏览器的默认行为

  3、属性自己定义

    event.mingzi = 'hello,我是李小贱';

    event.message = '我今天24岁';

   4、绑定事件

    document.addEventListener('oneating', function (event) {

      alert(event.mingzi+','+event.message);

    });

  5、触发事件

    document.getElementById('a').dispatchEvent(event);(非IE主流浏览器触发方法)

    document.getElementById('a').fireEvent('on'+event,evt);(IE浏览器触发方法)

例子:

       var events = 'touchstart touchend mousedown mouseup click'.split(' ');
var n = 0;
// 开启定时器,每两秒钟为a标签触发相应事件
var timer = setInterval(function(){
var event = new Event(events[n]);
document.getElementById('a').dispatchEvent(event); // 触发事件。
console.log(event.type);
n++;
if (n == events.length) {
clearInterval(timer);
}
},2000);