<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Event對象敘述 自定義事件CustomEvent</title>
</head>
<body>
<!-- 描述:事件发生以后,会产生一个事件对象,作为参数传给监听函数。浏览器原生提供一个Event对象,
所有的事件都是这个对象的实例,或者说继承了Event.prototype对象。
點擊->var clickEvent = new Event('click') ->存在addEventListener監聽函數->執行監聽函數
將clickEvent對象作爲參數傳遞過去
-->
<!--
var eve = new Event('look',{
"bubbles":false,
"cancelable":false
});
document.dispatchEvent(eve); //document調用 Event是dom下的一部分
-->
<div>父div
<h1>1111111111111</h1>
</div>
</body>
<script>
var eve = new CustomEvent('look',{
"bubbles":false,
"cancelable":false
}); var h1=document.querySelector("h1");
var div1 =document.querySelector("div");
h1.addEventListener('look',function(ev){
console.info('user defined event happen');
var bubble=ev.bubbles;
console.error(bubble)//false 非冒泡類型
},false)
// div1.addEventListener('look',function(){
// console.error("parent element div attach")
// },true)//useCapture 情況下執行 且先于h1執行 div1.addEventListener('look',function(){
console.error("parent element div attach")
},false)//useCapture 為false 冒泡情況下才執行 --->結果:由於h1的bubbles=false 不冒泡 因此div1的事件不觸發
h1.dispatchEvent(eve);//user defined event happen
//手動觸發事件執行 </script>
</html>

自定義事件傳參數

var myEvent = new CustomEvent('myevent', {
detail: {
foo: 'bar'
},
bubbles: true,
cancelable: false
}); el.addEventListener('myevent', function (event) {
console.log('Hello ' + event.detail.foo);
}); el.dispatchEvent(myEvent);

js 自定義event的更多相关文章

  1. #HTML:無序、有序與定義清單

    #HTML:無序.有序與定義清單 Maplewing 于 星期六, 12/10/2013 - 09:48 提交 清單在網頁中是很常使用到的東西,故多少還是要了解一下.在HTML中有三種不太一樣的清單, ...

  2. Node.js 事件循环(Event Loop)介绍

    Node.js 事件循环(Event Loop)介绍 JavaScript是一种单线程运行但又绝不会阻塞的语言,其实现非阻塞的关键是“事件循环”和“回调机制”.Node.js在JavaScript的基 ...

  3. Q郵箱轉移自定義目錄中的郵件

    1.之前在Q郵箱上建立了許多規則和收件箱,現在想統一用Mac上的郵局管理 2.Mac上會同步對應郵箱的自定義目錄,此時這些目錄便十分多餘礙眼 3.Q郵箱單頁顯示郵件數量上限是100,這意味著手動轉移十 ...

  4. 可以支持jQuery1.10.1 的 fancybox 1.3.4, 並現在type為Ajax時,也可以定義窗口的大小。

    官網上的 fancybox 1.3.4 太老了,不支持jQuery1.10.1,改動了一下源碼,現在可以支持了. type為Ajax時,也可以定義窗口的大小. $("#ajaxlink&qu ...

  5. 一句JS搞定只允许输入数字和字母

    一句JS搞定输入框只允许用户输入数字和字母类型的内容,对象是input输入框,当然也可以其它对象,只不过input输入框用的频率非常高.一句代码,不信么?那就看下边代码: <INPUT clas ...

  6. Linux Ubuntu 虛擬機系統自定義桌面分辨率且重啓後保持不變

    我用 VMware Workstation 12 Pro 安裝的 Ubuntu MATE Desktop Environment 1.12.1,發現安裝後沒有需要的分辨率,於是安裝 VMware To ...

  7. JavaScript -- 时光流逝(八):js中的事件Event的使用

    JavaScript -- 知识点回顾篇(八):js中的事件Event的使用 事件通常与函数配合使用,这样就可以通过发生的事件来驱动函数执行. (1) onabort : onabort 事件会在图像 ...

  8. vue自定義指令

    自定義指令可以允許代碼複用, 全局自定義指令 vue.directive('指令名',{鉤子函數:指令函數}) 局部自定義指令: vue({ directives:{指令名:{鉤子函數:指令函數} } ...

  9. dataTable.NET的column index的不同定義

    dataTable.NET是一個jQuery的plug in 第三方的library, 用來實現web page中table的interaction controls, 另外最近有在用的還有Teler ...

  10. Neo4j中實現自定義中文全文索引

    資料庫檢索效率時,一般首要優化途徑是從索引入手,然後根據需求再考慮更復雜的負載均衡.讀寫分離和分散式水平/垂直分庫/表等手段:索引通過資訊冗餘來提高檢索效率,其以空間換時間並會降低資料寫入的效率,因此 ...

随机推荐

  1. JZOJ 2022.02.26【提高A组】模拟

    比赛总结 考场 \(T1,T2\) 思想切了 然而... \(\text{T1}\) 飞行棋 当然要 \(dp\),然而发现后六格有后效性 姑且设 \(f_i\) 表示从第 \(i\) 格到终点的期望 ...

  2. CF1638E Colorful Operations

    \(\text{Solution}\) \(\text{code}\) #include <cstdio> #include <iostream> #include <s ...

  3. C#泛型接口请求封装类

    using HttpUtil; using Newtonsoft.Json; using System; using System.Collections.Generic; using System. ...

  4. 怎么下载blob视频 .mu38视频下载转换格式

    首先获取视频m3u8地址 浏览器按 F12进入开发者模式 选择 Network 搜索.m3u8 RequestURL 获取视频url m3u8文件介绍 M3U(Moving Picture Exper ...

  5. WebGPU 01之Hello Triangle

    1. 引言 WebGPU是什么? WebGPU 到底是什么? - Orillusion的回答 - 知乎 WebGPU与WebGL的对比? WebGL 与 WebGPU 比对 前奏 - 四季留歌 - 博 ...

  6. uniapp 自定义 picker

    前言 我们在开发的过程中经常会遇到现有插件无法满足需求的情况,毕竟不是组件库不能满足项目所有需求,这时就需要我们自己去构建组件. 写这篇博文也是记录我平时开发的,以后可能会用得到的东西.希望大家看到本 ...

  7. day09-MyBatis缓存

    MyBatis缓存 mybatis – MyBatis 3 | cache MyBatis 一级缓存全详解(一) MyBatis 内置了一个强大的事务性查询缓存机制,它可以非常方便地配置和定制. 为了 ...

  8. Java后台校验手机号和邮箱

    //true是手机号,false不是手机号 public static boolean checkPhone(String phone){ Pattern p = Pattern.compile(&q ...

  9. RuntimeError: CUDA error: device-side assert triggered

    调试diffusion模型时在loss处报错,报错位置: `acc_train_loss += loss.item()` RuntimeError: CUDA error: device-side a ...

  10. winfrom快捷键

    1.当活动窗体的快捷键 1 protected override bool ProcessCmdKey(ref Message msg, Keys keyData) 2 { 3 KeyEventArg ...