Js 实现自定义事件】的更多相关文章

js中的事件是js的一大技术点,说白了就是操作dom树的唯一途径. 关于事件无非两种绑定方式: document.getElementById('xxx').onclick = function(){ } document.getElementById("xxx").addEventListener("click", function(){ }); 前者和后者的区别无非就是绑定一个和多个,当多次绑定相同元素的时候,前者会覆盖,后者不会覆盖. 下面我们来看看如何自定义…
$(function(){ $('#btn').bind("myClick", function(){ //自定义myClick事件 $('#test').append("<p>我的自定义事件.</p>"); }); $('#btn').click(function(){ $(this).trigger("myClick"); }).trigger("myClick"); })…
1. 对于标准浏览器,其提供了可供元素触发的方法:element.dispatchEvent(). 不过,在使用该方法之前,我们还需要做其他两件事,及创建和初始化.因此,总结说来就是: 1 2 3 document.createEvent() event.initEvent() element.dispatchEvent() 举个例子: 1 2 3 4 5 6 7 8 9 10 11 12 var dom = document.querySelector('#id') document.addE…
1. 事件的创建 JS中,最简单的创建事件方法,是使用Event构造器: var myEvent = new Event('event_name'); 但是为了能够传递数据,就需要使用 CustomEvent 构造器: var myEvent = new CustomEvent('event_name', { detail:{ // 将需要传递的数据写在detail中,以便在EventListener中获取 // 数据将会在event.detail中得到 }, }); 2. 事件的监听 JS的E…
var events = { addHandler: function (element, eventType, handler) { if (element.addEventListener) { return element.addEventListener(eventType, handler, false); } else { return element.attachEvent("on" + eventType, handler); } }, removeHandler: f…
var Event = { on: function (eventName, callback) { if (!this[eventName]) { this[eventName] = []; } this[eventName].push(callback); }, emit: function (eventName) { var that = this; var params = arguments.length > 1 ? Array.prototype.slice.call(argumen…
自定义事件的本质,创建一个对象,然后把事件的名字作为对象的一个属性,然后value是一个[],把此事件的所以回调都push进去. 写一个很基本的,没有把对象暴露出去的js的自定义事件. var event = (function(){ var obj = {}; var addEvent = function(type,cb){ if(!obj[type]){ obj[type] = []; } return obj[type].push(cb); } var removeEvent = fun…
一.说明.引言 我JS还是比较薄弱的,本文的内容属于边学边想边折腾的碎碎念,可能没什么条理,可能有表述不准确的地方,可能内容比较拗口生僻.如果您时间紧迫,或者JS造诣已深,至此您就可以点击右侧广告(木有?则RSS或盗版)然后撤了. 事件是个大课题,真要从断奶开始讲起的话,可以写个12期的连载.关于JS事件的文章(类似DOM/BOM事件模型,IE与其他浏览器事件差异,DOM1/DOM2事件定义等)落叶般随处可见.熟豆子反复炒一点意思都没有,因此,这里谈谈自己感兴趣的自定义事件以及周边. 所谓自定义…
一.说明.引言 我JS还是比较薄弱的,本文的内容属于边学边想边折腾的碎碎念,可能没什么条理,可能有表述不准确的地方,可能内容比较拗口生僻.如果您时间紧迫,或者JS造诣已深,至此您就可以点击右侧广告(木有?则RSS或盗版)然后撤了. 事件是个大课题,真要从断奶开始讲起的话,可以写个12期的连载.关于JS事件的文章(类似DOM/BOM事件模型,IE与其他浏览器事件差异,DOM1/DOM2事件定义等)落叶般随处可见.熟豆子反复炒一点意思都没有,因此,这里谈谈自己感兴趣的自定义事件以及周边. 所谓自定义…
1. 触发自定义事件方式 js.jq 2. jq 触发 2.1 默认支持的事件 $('#h').on('click',function(){ $(this).append('<p>p</p>') })   $('#h').trigger('click');   $('#h').click();   2.2 自定义事件 $('#h').on('myclick',function(){ $(this).append('<p>p</p>') })   $('#h'…
转自:https://blog.csdn.net/leadergg/article/details/5927614?utm_source=blogxgwz5 ExtJs事件(自定义事件.on.eventManager)示例 鉴于最近更新主页比较慢,先把最近更新的extJs示例发到这里好了. 页面代码: <body> <link rel="stylesheet" type="text/css" href="../../../../resou…
呼呼...前不久参加了一个笔试,里面有一到JS编程题,当时看着题目就蒙圈...后来研究了一下,原来就是所谓的观察者模式.就记下来...^_^ 题目 [附加题] 请实现下面的自定义事件 Event 对象的接口,功能见注释(测试1) 该 Event 对象的接口需要能被其他对象拓展复用(测试2) // 测试1 Event.on('test', function (result) { console.log(result); }); Event.on('test', function () { cons…
1.思路 (1)构思 var eventTarget = { addEvent: function(){ //添加事件 }, fireEvent: function(){ //触发事件 }, removeEvent: function(){ //移除事件 } }; (2)建立一一对应的映射表 var eventTarget = { //保存映射 handlers:{}, addEvent: function(){ //处理代码 }, fireEvent: function(){ //触发代码 }…
使用 JS 关闭警告框及监听自定义事件(amaze ui) 一.总结 1.jquery匿名函数:第8行,jquery匿名函数,$(function(){});,有没有很简单,只是少了jquery的前面的选择器部分而已 二.使用 JS 关闭警告框及监听自定义事件(amaze ui) 截图 代码 <div class="am-alert" id="your-alert-1"> <button type="button" class=…
我们在开发组件时有时需要和父组件沟通,此时可以用自定义事件来实现 组件的事件分为自定义事件和原生事件,前者用于子组件给父组件发送消息的,后者用于在组件的根元素上直接监听一个原生事件,区别就是绑定原生事件需要加一个.native修饰符. 子组件里通过过this.$emit()将自定义事件以及需要发出的数据通过以下代码发送出去,第一个参数是自定义事件的名称,后面的参数是依次想要发送出去的数据,例如: <!DOCTYPE html> <html lang="en">…
1.Event Event 对象代表事件的状态,比如事件在其中发生的元素.键盘按键的状态.鼠标的位置.鼠标按钮的状态. 事件通常与函数结合使用,函数不会在事件发生前被执行! Event的事件都是系统自带事件,比如鼠标.键盘.焦点等等! 可以用Document.createEvent(type) 方法创建自定义事件,type 是一个字符串,表示要创建的事件类型.事件类型可能包括"UIEvents", "MouseEvents", "MutationEvent…
在 JS 中模拟事件指的是模拟 JS 中定义的一些事件,例如点击事件,键盘事件等. 自定义事件指的是创建一个自定义的,JS 中之前没有的事件. 接下来分别说一下创建这两种事件的方法. 创建自定义事件 创建自定义事件可以使用 Event 和 CustomEvent 两种方法,接下来分别做一下介绍. 1. 利用 Event MDN Event Event 用法 event = new Event(typeArg, eventInit); typeArg:指定事件类型,传递一个字符串.这里的事件类型指…
自定义事件是一种处理与DOM产生交互的代码逻辑片段之间耦合的很好的架构方法. 一个简单的jQuery插件——选项卡 让ul列表来响应点击事件.当用户点击一个列表项时,给这个列表项添加一个名为active的类,同时将其他列表项中的active类移除: <ul id="tabs"> <li data-tab="users">users</li> <li data-tab="groups">groups&…
原文出处:  http://www.w3cfuns.com/notes/11861/e21736a0b15bceca0dc7f76d77c2fb5a.html . 我拿出作者中的一段,感谢作者原创. DOM中的事件模拟(自定义事件): DOM3级还定义了自定义事件,自定义事件不是由DOM原生触发的,它的目的是让开发人员创建自己的事件.要创建的自定义事件可以由createEvent("CustomEvent"); 返回的对象有一个initCustomEvent()方法接收如下四个参数.…
四.伪DOM自定义事件 这里的“伪DOM自定义事件”是自己定义的一个名词,用来区分DOM自定义事件的.例如jQuery库,其是基于包装器(一个包含DOM元素的中间层)扩展事件的,既与DOM相关,又不直接是DOM,因此,称之为“伪DOM自定义事件”. //zxx: 下面即将展示的代码目的在于学习与认识,要想实际应用可能还需要在细节上做些调整.例如,下面测试的包装器仅仅只是包裹DOM元素,并非选择器之类:$符号未增加冲突处理,且几个重要方法都暴露在全局环境中,没有闭包保护等. 原型以及new函数构造…
<div id="app"> <h2>{{num}}</h2> <h1>全局组件</h1> <my-component @myclick="vueAdd"></my-component> <!-- 渲染全局组件--> </div> </body> </html> <script>/* */ Vue.component('my…
简而言之,它不是由系统自动触发,而是人为的干涉 较多情况用于传递数据 var _listener1 = cc.EventListener.create({ event: cc.EventListener.CUSTOM, eventName: "game_custom_event1", callback: function(event){ // 可以通过getUserData来设置需要传输的用户自定义数据 statusLabel.setString("Custom event…
http://blog.csdn.net/pigpigpig4587/article/details/24727791 jQuery事件命名空间 jQuery支持事件命名空间,以方便事件管理.例如,在下面的示例中,为div元素绑定多个事件类型,然后使用命名空间进行规范,从而方便管理.所谓事件命名空间,就晨事件类型后面以点语法附加一个别名,以便引用事件,如"click.a",其中"a"就是click当前事件类型的别名,即事件命名空间 如:$("div&quo…
网易2017内推笔试题 要求: 请实现下面的自定义事件Event对象的接口,功能见注释(测试1) 该Event对象的接口需要能被其他对象拓展复用(测试2) //测试1 Event.on('test',function(result){ console.log(result); }); Event.on('test',function(){ console.log('test'); }); Event.emit('test','hello world'); //输出'hello world' 和…
让我万万没想到的是,原来<JavaScript高级程序设计(第3版)>里面提到的方法已经是过时的了.后来我查看了MDN,才找到了最新的方法. 模拟鼠标事件MDN上已经说得很清楚,尽管为了保持向后兼容MouseEvent.initMouseEvent()仍然可用,但是呢,我们应该使用MouseEvent().我们使用如下页面做测试 <!DOCTYPE html> <html> <head lang="zh-CN"> <meta cha…
之前在学习自定义事件时,在MDN的Event.initEvent()页面顶端有写:该特性已从Web标准中删除,虽然一些浏览器目前仍然支持它,但也许会在未来的某个时间停止支持,请尽量不要使用该特性. 作为替代,我们可以通过创建Event对象和CustomEvent对象来创建自定义对象.先从Event()对象开始. Event()——Event对象的构造函数 咱们可以看着下面这个例子去了解如何使用Event()创建一个自定义对象: 1 <script type="text/javascript…
一般默认的滚动条会比较丑,我们可以用简单的js实现自定义滚动条的功能: 代码如下: <!doctype html> <html> <head> <meta charset="utf-8"> <title>标题</title> <meta name="keywords" content=""> <meta name="description"…
“通过事件机制,可以将类设计为独立的模块,通过事件对外通信,提高了程序的开发效率.” 可以把多个关联但逻辑复杂的操作利用自定义事件的机制灵活地控制好 对象之间通过直接方法调用来交互 1)对象A直接调用对象B的某个方法,实现交互:直接方法调用本质上也是属于一种特殊的发送与接受消息,它把发送消息和接收消息合并为一个动作完成: 方法调用方和被调用方被紧密耦合在一起:因为发送消息和接收消息是在一个动作内完成,所以无法做到消息的异步发送和接收: 2)对象A生成消息->将消息通知给一个事件消息处理器(Obs…
被我拖延了将近一个月的javascript事件模型系列终于迎来了第四篇,也是我计划中的最后一篇,说来太惭愧了,本来计划一到两个星期写完的,谁知中间遇到了很多事情,公司的个人的,搞的自己心烦意乱浮躁了一段时间,好在最近这些事情都一件件趋于平息,我也有了精力继续写文章. 这个自定义事件其实是挺让我纠结的,首先自己平时从未使用过,只是有一次遇到一个问题有人指点说可以用自定义事件,才对这个东西有了印象.在网上搜“javascript自定义事件”,发现也有不少文章在写,不过说实话让我佩服的却一篇也没找到,…
事件中的几种实现方式 Dom0时代 1.直接在html的属性中写JS代码 <div onclick="alert(4);">Div1 Element</div> 2.定义一个函数,赋值给html元素的onXXX属性 <div onclick="clk()">Div Element</div> <script type="text/javascript"> function clk(){…