js事件on动态绑定数据,绑定多个事件的方法


Posted in Javascript onSeptember 15, 2018

一.on('clcik')与$('').clcik()方法的区别:

on('clcik'):事件委托机制

// 在body元素上绑定click事件处理函数handler,如果这个click事件是由其后代的P元素触发的,就执行handler
$(document.body).on("click", "p", handler);

事件委托机制就是,我们不为每个P元素直接绑定click事件处理函数,而是委托给其某个公共的祖辈元素(此处示例中为document.body),"告诉"他:如果接收到了click事件触发通知,并且这个click事件是由我们这些P元素其中之一触发的,就执行祖辈元素上委托绑定的事件处理函数。

注意:"focus"、"blur"等部分事件不支持冒泡,使用事件委托机制将无效。不过,他们一般也有对应的支持冒泡的事件。例如与"focus"对应的"focusin",与"blur"对应的"focusout"。此外,我们也可以使用event.stopPropagation()方法,让当前触发的事件停止冒泡。

1.绑定多个事件,用空格隔开事件和命名空间如:“click”或“keydown.myPlugin”。或者格式为

on({

"clcik": function(){},

mouseover: function(){}

})

命名空间: namespace 名字{ 定义的数据; 定义的函数; 也可以是定义的类...}

2.可以给动态元素和属性绑定事件

clcik()不能为页面动态加载元素添加事件,事件只能为clcik

二:on()的参数

$().on(events,[seletor],[data],fn)或events-map,[seletor],[data]

events:一个或多个用空格分隔的事件类型和可选的命名空间

events-map:个用字符串表示的,一个或多个空格分隔的事件类型和可选的命名空间,值表示事件绑定的处理函数。

seletor:一个选择器字符串用于过滤器的触发事件的选择器元素的后代。如果选择的< null或省略,当它到达选定的元素,事件总是触发。(也就是触发事件元素)

data:当一个事件被触发时要传递event.data给事件处理函数。
fn:该事件被触发时执行的函数。如果事件处理函数handler仅仅只为返回false值,可以直接将handler设为false。false 值也可以做一个函数的简写,返回false。

如果要取消默认事件直接加false

$("form").on("submit", false)

map:规定事件映射 ({event:function, event:function, ...}),包含要添加到元素的一个或多个事件,以及当事件发生时运行的函数

三:onclick,click,on()的优先关系:onclick>click>on();

以上这篇js事件on动态绑定数据,绑定多个事件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 编程引入命名空间的方法与代码
Aug 13 Javascript
js 获取服务器控件值的代码
Mar 05 Javascript
js限制文本框输入长度两种限制方式(长度、字节数)
Dec 19 Javascript
标题过长使用javascript按字节截取字符串
Apr 24 Javascript
jQuery实现拖拽页面元素并将其保存到cookie的方法
Jun 12 Javascript
如何清除IE10+ input X 文本框的叉叉和密码输入框的眼睛图标
Dec 21 Javascript
Vue学习笔记进阶篇之vue-cli安装及介绍
Jul 18 Javascript
微信小程序使用template标签实现五星评分功能
Nov 03 Javascript
js中Array对象的常用遍历方法详解
Jan 17 Javascript
解决vuex刷新状态初始化的方法实现
Aug 15 Javascript
深入理解令牌认证机制(token)
Aug 22 Javascript
微信小程序实现菜单左右联动
May 19 Javascript
vue 的点击事件获取当前点击的元素方法
Sep 15 #Javascript
对Vue.js之事件的绑定(v-on: 或者 @ )详解
Sep 15 #Javascript
vue绑定事件后获取绑定事件中的this方法
Sep 15 #Javascript
浅谈vue方法内的方法使用this的问题
Sep 15 #Javascript
微信小程序动态增加按钮组件
Sep 14 #Javascript
vue中Element-ui 输入银行账号每四位加一个空格的实现代码
Sep 14 #Javascript
解决vue 格式化银行卡(信用卡)每4位一个符号隔断的问题
Sep 14 #Javascript
You might like
php实现的操作excel类详解
2016/01/15 PHP
如何用PHP做到页面注册审核
2017/03/02 PHP
仿微博字符限制效果实现代码
2012/04/20 Javascript
jquery获取tr中控件值并操作tr实现思路
2013/03/27 Javascript
JS性能优化笔记搜索整理
2013/08/21 Javascript
script标签属性用type还是language
2015/01/21 Javascript
javascript实现点击按钮让DIV层弹性移动的方法
2015/02/24 Javascript
javascript实现将文件保存到本地方法汇总
2015/07/26 Javascript
JavaScript模块规范之AMD规范和CMD规范
2015/10/27 Javascript
jquery实现九宫格大转盘抽奖
2015/11/13 Javascript
D3.js实现柱状图的方法详解
2016/09/21 Javascript
微信小程序 Toast自定义实例详解
2017/01/20 Javascript
JQuery查找子元素find()和遍历集合each的方法总结
2017/03/07 Javascript
vue.js的安装方法
2017/05/12 Javascript
vue父组件向子组件(props)传递数据的方法
2018/01/02 Javascript
使用wxapp-img-loader自定义组件实现微信小程序图片预加载功能
2018/10/18 Javascript
微信小程序textarea层级过高(盖住其他元素)问题的解决办法
2019/03/04 Javascript
解决 viewer.js 动态更新图片导致无法预览的问题
2019/05/14 Javascript
jquery使用echarts实现有向图可视化功能示例
2019/11/25 jQuery
jQuery实现轮播图效果demo
2020/01/11 jQuery
[04:42]5分钟带你了解什么是DOTA2(第一期)
2017/02/07 DOTA
Django项目中包含多个应用时对url的配置方法
2018/05/30 Python
Python设计模式之简单工厂模式实例详解
2019/01/22 Python
在windows下使用python进行串口通讯的方法
2019/07/02 Python
django自带serializers序列化返回指定字段的方法
2019/08/21 Python
Python imutils 填充图片周边为黑色的实现
2020/01/19 Python
浅谈tensorflow中Dataset图片的批量读取及维度的操作详解
2020/01/20 Python
Python tkinter之Bind(绑定事件)的使用示例
2021/02/05 Python
纯CSS3实现圆圈动态发光特效动画的示例代码
2021/03/08 HTML / CSS
HTML5如何使用SVG的方法示例
2019/01/11 HTML / CSS
欧尚俄罗斯网上超市:Auchan俄罗斯
2018/05/03 全球购物
实现向右循环移位
2014/07/31 面试题
优秀乡村医生事迹材料
2014/05/28 职场文书
作风整顿个人剖析材料
2014/10/06 职场文书
2017新年晚会开幕词
2016/03/03 职场文书
68句权威创业名言
2019/08/26 职场文书