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动态改变HTML页面元素例如添加或删除
Aug 10 Javascript
使用typeof判断function是否存在于上下文
Aug 14 Javascript
javascript表格隔行变色加鼠标移入移出及点击效果的方法
Apr 10 Javascript
jquery实现Li滚动时滚动条自动添加样式的方法
Aug 10 Javascript
jQuery插件Flexslider实现图片轮播、图文结合滑动切换效果
Apr 16 Javascript
又一枚精彩的弹幕效果jQuery实现
Jul 25 Javascript
JavaScript轻松创建级联函数的方法示例
Feb 10 Javascript
javascript 单例模式详解及简单实例
Feb 14 Javascript
Angular网络请求的封装方法
May 22 Javascript
使用FormData实现上传多个文件
Dec 04 Javascript
javascript实现简易聊天室
Jul 12 Javascript
js 压缩图片的示例(只缩小体积,不更改图片尺寸)
Oct 21 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
自己前几天写的无限分类类
2007/02/14 PHP
深入理解:单一入口、MVC、ORM、CURD、ActiveRecord概念
2013/06/06 PHP
PHP自带ZIP压缩、解压缩类ZipArchiv使用指南
2015/03/03 PHP
ThinkPHP框架实现的MySQL数据库备份功能示例
2018/05/24 PHP
将HTML自动转为JS代码
2006/06/26 Javascript
javascript中判断一个值是否在数组中并没有直接使用
2012/12/17 Javascript
js 数值转换为3位逗号分隔的示例代码
2014/02/19 Javascript
JS中自定义定时器让它在某一时刻执行
2014/09/02 Javascript
浅谈javascript中call()、apply()、bind()的用法
2015/04/20 Javascript
分享我对JS插件开发的一些感想和心得
2016/02/04 Javascript
JavaScript获取当前url根目录(路径)
2016/06/17 Javascript
jQuery表单验证插件解析(推荐)
2016/07/21 Javascript
老生常谈javascript的类型转换
2016/10/12 Javascript
微信小程序 教程之注册程序
2016/10/17 Javascript
浅谈Vue.js 组件中的v-on绑定自定义事件理解
2017/11/17 Javascript
vue2中使用less简易教程
2018/03/27 Javascript
jQuery利用FormData上传文件实现批量上传
2018/12/04 jQuery
PWA介绍及快速上手搭建一个PWA应用的方法
2019/01/27 Javascript
VueQuillEditor富文本上传图片(非base64)
2020/06/03 Javascript
Python实现基于HTTP文件传输实例
2014/11/08 Python
python利用正则表达式提取字符串
2016/12/08 Python
高质量Python代码编写的5个优化技巧
2017/11/16 Python
pycharm远程调试openstack的图文教程
2017/11/21 Python
python 识别图片中的文字信息方法
2018/05/10 Python
解决pyecharts在jupyter notebook中使用报错问题
2020/04/23 Python
PyQt 图解Qt Designer工具的使用方法
2019/08/06 Python
基于python实现把图片转换成素描
2019/11/13 Python
Python socket连接中的粘包、精确传输问题实例分析
2020/03/24 Python
canvas实现圆形进度条动画的示例代码
2017/12/26 HTML / CSS
资产经营总监岗位职责范文
2013/12/01 职场文书
知名企业招聘广告词大全
2014/03/18 职场文书
2016年教师师德师风心得体会
2016/01/12 职场文书
接触艺术对孩子学习思维有益
2019/08/06 职场文书
关于HTML编码导致的乱码问题
2021/09/04 HTML / CSS
vmware虚拟机打不开vmx文件怎么办 ?vmware虚拟机vmx文件打开方法
2022/04/08 数码科技
Android开发手册自定义Switch开关按钮控件
2022/06/10 Java/Android