自定义事件

作者: helloyoucan | 来源:发表于2018-06-06 17:13 被阅读0次
先介绍一下需要用到的函数
  1. document.createEvent()
    作用:createEvent() 方法创建新的Event 对象
    语法:createEvent(eventType)
    参数:eventType:想获取的 Event 对象的事件模块名;
    返回值:返回新创建的Event 对象,具有指定的类型
    下表列出了 eventType 的合法值和每个值创建的事件接口:
参数 事件接口 初始化方法
HTMLEvents HTMLEvent iniEvent()
MouseEvents MouseEvent iniMouseEvent()
UIEvents UIEvent iniUIEvent()

用该方法创建了 Event 对象以后,不同的eventType必须用上表中所对应的初始化方法初始化对象。

  1. Event.initEvent()
    作用:初始化新事件对象的属性,需要在调用dispatchEvent前调用
    语法:event.initEvent(eventType,canBubble,cancelable)
    参数:eventType:事件的类型;canBubbl:事件是否起泡;cancelable:是否可以用 preventDefault() 方法取消事件
    返回值:无

  2. DOM.dispatchEvent()
    作用:dispatchEvent() 方法给节点分派一个合成事件。
    语法:dispatchEvent(evt)
    参数:evt:要分派的 Event 对象。
    返回值:如果在事件传播过程中调用了 evt 的 preventDefault() 方法则返回 false,否则返回 true。

示例的代码如下
// 创建事件
var myEvent = document.createEvent('HTMLEvents');
myEvent.hello='hello,I am event';//可在event
// 定义事件类型
myEvent.initEvent('customEvent', true, true);
// 在元素上监听事件
var oBody = document.querySelector('body');
oBody.addEventListener('customEvent', function(e){
    console.log(e)
    console.log(e.hello)
    e.target.innerHTML = 'customEvent 事件被触发了'
}, false);

setTimeout((o,e)=>{
    //触发事件
    o.dispatchEvent(e)
},2000,oBody,myEvent)

2秒,控制台打印出

Event {isTrusted: false, hello: "hello,I am event", type: "customEvent", target: body, currentTarget: body, …}
hello,I am event

相关文章

  • 自定义事件js

    title: 自定义事件date: 2017-06-06 15:36:04tags: 自定义事件 js的自定义事件...

  • jQuery例子记录(持续更新)

    目录: 1.自定义事件2.操作DOM(与JS原生对比) 1.自定义事件 绑定自定义事件: 事件名称refresh....

  • JavaScript之事件完整篇

    目录html原生事件自定义事件node中的自定义事件前端框架的自定义事件 一、html原生事件 1. 概念 观察者...

  • springboot之事件监听

    springboot事件监听 自定义事件 自定义事件继承至ApplicationEvent,事件类不能注册为spr...

  • this.$emit()

    this.$emit("自定义事件") 通过触发自定义事件,来给触发监听事件

  • JS中的事件

    JS中的事件 一:自定义事件 1.使用Event自定义事件 使用Event接口,可以自定义事件。但是该接口无法在事...

  • vs2017开发ActiveX(主讲OCX)(六)、添加自定义事

    添加自定义事件 前言 自定义事件与常用事件的不同之处在于它们不会被类COleControl自动触发。 自定义事件将...

  • jquery怎样绑定事件及事件函数

    绑定事件方式: 取消绑定事件方式: 事件函数列表: 自定义事件:除了系统事件外,可以通过bind方法自定义事件,然...

  • jquery事件

    jQuery其他事件 绑定事件 自定义事件

  • jquery事件

    自定义事件 除了系统事件外,可以通过bind方法自定义事件,然后用tiggle方法触发这些事件。 什么是事件冒泡 ...

网友评论

    本文标题:自定义事件

    本文链接:https://www.haomeiwen.com/subject/kxzbsftx.html