自定义DOM事件函数封装
非原生DOM触发,个性化定制的自定义事件。
- currentTarget(DOM对象):要触发事件的元素节点。
- type(字符串):触发的事件类型,例如"keydown"。
- bubbles(布尔值):表示事件是否应该冒泡。
- cancelable(布尔值):表示事件是否可以取消。
- detail(对象):任意值,保存在 event 对象的 detail 属性中。
1 function customEvent (currentTarget, type, bubbles, cancelable, detail) {
2 /* 自定义响应事件 */
3 //IE9+
4 if (document.implementation.hasFeature("CustomEvents", "3.0")) {
5 bubbles = (bubbles === undefined) ? true : bubbles; // 默认事件冒泡
6 cancelable = (cancelable === undefined) ? true : cancelable; // 默认事件可以取消
7 detail = detail || {}; //这里可以是事件中包含的信息、数据
8 var e = document.createEvent("CustomEvent");
9 e.initCustomEvent(type, bubbles, cancelable, detail);
10 currentTarget.dispatchEvent(e); // 触发事件
11 }
12 else console.log("该环境不支持自定义事件!");
13 }
自定义DOM事件函数封装的更多相关文章
- javascript将DOM事件处理程序封装为event.js 出现的低级错误记录
将 DOM 0级事件处理程序和DOM2级事件处理程序 IE事件处理程序封装为eventUtil对象,达到跨浏览器的效果.代码如下: var eventUtil = { // 添加事件句柄 addEve ...
- [前端][自定义DOM事件]不使用setTimeout实现双击事件或n击事件
使用setTimeout实现双击事件 例如,这样: let div = document.getElementById("div"); doubleClick(div, funct ...
- DOM事件里封装方法eventUtil
var eventUtil={ //添加句柄 addHandler:function (element,type,handler) { //element相当于btn2,type此时用的是click类 ...
- 深入理解DOM事件机制系列第四篇——事件模拟
× 目录 [1]引入 [2]模拟机制 [3]自定义事件 前面的话 事件是网页中某个特别的瞬间,经常由用户操作或通过其他浏览器功能来触发.但实际上,也可以使用javascript在任意时刻来触发特定的事 ...
- jquery事件函数和原生事件绑定函数中return false的区别
一直听说jquery中事件函数返回false,相当于调用了event.preventDefault()和event.stopPropagation()两个方法,今天就想看看dom中0级.1级.2级事件 ...
- MIT 2012分布式课程基础源码解析-事件管理封装
这部分的内容主要包括Epoll/select的封装,在封装好相应函数后,再使用一个类来管理相应事件,实现的文件为pollmgr.{h, cc}. 事件函数封装 可看到pollmgr.h文件下定一个了一 ...
- 如何优雅的封装一个DOM事件库
1.DOM0级事件和DOM2级事件 DOM 0级事件是元素内的一个私有属性:div.onclick = function () {},对一个私有属性赋值(在该事件上绑定一个方法).由此可知DOM 0级 ...
- Angular4.x Event (DOM事件和自定义事件)
Angular组件和DOM元素通过事件与外部进行通信,两者中的事件绑定语法是相同的-(eventName)="expression": <button (click)=&qu ...
- javascript中事件总结&通用的事件侦听器函数封装&事件委托
前言: JAVASCRIPT与HTML之间的交互是通过事件来实现的.事件,就是文档或浏览器窗口中发生的一些特定交互瞬间.可以使用侦听器( 或处理程序 )来预定事件,以便事件发生时执行相应的代码.这种在 ...
- DOM事件: DOM事件级别、DOM事件流、DOM事件模型、DOM事件捕获过程、自定义事件
前端面试中只要问到事件,就肯定会有DOM事件:如果回答出来了,就会一直向下延申,其实这些东西都很简单,但我第一次被问到的时候,也是懵的: DOM事件级别: DOM0 element.onclick = ...
随机推荐
- 实践:基于腾讯云播放器SDK,带您体验播放多场景下的 COS 视频文件
一. 实践步骤 1. 准备您的 腾讯云COS 视频文件链接,您需要: 1.1 创建一个存储桶: 1.2 上传对象: 1.3 在对象信息详情里复制对象地址: 注意: 目前腾讯云有COS特惠活动,新人1元 ...
- Mysql数据库基础第二章:(十)联合查询
Mysql数据库基础系列 软件下载地址 提取码:7v7u 数据下载地址 提取码:e6p9 mysql数据库基础第一章:(一)数据库基本概念 mysql数据库基础第一章:(二)mysql环境搭建 mys ...
- C# IOC 个人理解
学习QFramework 过程中发现对IOC不太了解,就大概百度了一下思路 将原先类与类之间的相互依赖关系,转移到第三方容器中, 同过读取配置文件来生成对应的依赖关系,将原本类之间的耦合转移到配置文件 ...
- Docker emqx实践
把emqx服务迁移到另一台服务器上 1.新服务器安装docker apt install docker.io 1.从服务器上导出镜像 导出镜像文件: docker export 55d48d3a13 ...
- gash 支付方式
首先客服人员会提供相应的支付demo代码,可根据此来处理 值得说的是 每次支付成功后 他会主动给你在后台设置的回调地址发送信息 你也要相应的返回对应的信息 发送过来的密文 有时会解密失败 可根据他 ...
- kali Linux--打开&关闭防火墙
1.安装ufw apt-get install ufw 2.关闭防火墙 ufw disable. 3.开启防火墙 ufw enable
- 学习lua-04,json.util merge方法对集合处理的实际应用,及tostring方法
local jsonutil = require("json.util") local merge = require("json.util").merge l ...
- 数据驱动DDT(Data-Driven Tests):测试数据的参数化
准备第三方库: 首先安装ddt库,其次在脚本中引入ddt 打开官网 https://pypi.org/project/ddt/ from ddt import ddt,data,unpack @ddt ...
- java jdk8安装之后java -version失败
将此目录下的(C:\Program Files (x86)\Common Files\Oracle\Java\javapath_target_86850671)三个.exe文件删除即可!
- 20211306 《Python程序设计》实验三报告
学号 20211306 <Python程序设计>实验三报告 课程:<Python程序设计> 班级: 2113 姓名: 丁文博 学号:20211306 实验教师:王志强 实验日期 ...