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 相关文章推荐
一段效率很高的for循环语句使用方法
Aug 13 Javascript
jQuery 常见开发使用技巧总结
Dec 26 Javascript
jQuery 下拉列表 二级联动插件分享
Mar 29 Javascript
公共js在页面底部加载的注意事项介绍
Jul 18 Javascript
让table变成exls的示例代码
Mar 24 Javascript
JavaScript+Java实现HTML页面转为PDF文件保存的方法
May 30 Javascript
AngularJS入门教程之表单校验用法示例
Nov 02 Javascript
ajax级联菜单实现方法实例分析
Nov 28 Javascript
如何学JavaScript?前辈的经验之谈
Dec 28 Javascript
bootstrap下拉框动态赋值方法
Aug 10 Javascript
JavaScript Array对象使用方法解析
Sep 24 Javascript
vue iview的菜单组件Mune 点击不高亮的解决方案
Nov 01 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基础之运算符的使用方法
2013/04/28 PHP
php实现银联商务公众号+服务窗支付的示例代码
2019/10/12 PHP
javascript add event remove event
2008/04/07 Javascript
JavaScript中的排序算法代码
2011/02/22 Javascript
JS 精确统计网站访问量的实例代码
2013/07/05 Javascript
php is_numberic函数造成的SQL注入漏洞
2014/03/10 Javascript
jQuery动态创建html元素的常用方法汇总
2014/09/05 Javascript
jQuery插件制作之全局函数用法实例
2015/06/01 Javascript
js实现完美兼容各大浏览器的人民币大小写相互转换
2015/10/29 Javascript
JS函数多个参数默认值指定方法分析
2016/11/28 Javascript
为什么我们要做三份 Webpack 配置文件
2017/09/18 Javascript
nodejs微信扫码支付功能实现
2018/02/17 NodeJs
vue动画之点击按钮往上渐渐显示出来的实例
2018/09/29 Javascript
vue项目中axios请求网络接口封装的示例代码
2018/12/18 Javascript
JavaScript闭包原理与用法学习笔记
2020/05/29 Javascript
Vue切换Tab动态渲染组件的操作
2020/09/21 Javascript
[00:21]DOTA2亚洲邀请赛 Logo演绎
2015/02/07 DOTA
[02:50]【扭转乾坤,只此一招】DOTA2永雾林渊版本开启新篇章
2020/12/22 DOTA
Python3使用正则表达式爬取内涵段子示例
2018/04/22 Python
深入理解Django自定义信号(signals)
2018/10/15 Python
python实现n个数中选出m个数的方法
2018/11/13 Python
Python使用pyserial进行串口通信的实例
2019/07/02 Python
Python整数与Numpy数据溢出问题解决
2019/09/11 Python
使用pyecharts1.7进行简单的可视化大全
2020/05/17 Python
python实现密码验证合格程序的思路详解
2020/06/01 Python
CSS3 优势以及网页设计师如何使用CSS3技术
2009/07/29 HTML / CSS
基于HTML5新特性Mutation Observer实现编辑器的撤销和回退操作
2016/01/11 HTML / CSS
Sarenza德国:法国最大的时尚鞋和包包网上商店
2019/06/08 全球购物
工商技校毕业生自荐信
2013/11/15 职场文书
企业读书活动总结
2014/06/30 职场文书
庆国庆国旗下讲话稿2014
2014/09/21 职场文书
2014公司年终工作总结
2014/12/19 职场文书
入党现实表现材料
2014/12/23 职场文书
爱护环境建议书
2015/09/14 职场文书
SQL注入篇学习之盲注/宽字节注入
2022/03/03 MySQL
Python&Matlab实现灰狼优化算法的示例代码
2022/03/21 Python