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 相关文章推荐
Ext grid 添加右击菜单
Nov 26 Javascript
用js实现的模拟jquery的animate自定义动画(2.5K)
Jul 20 Javascript
Web开发之JavaScript
Mar 29 Javascript
javascript按位非运算符的使用方法
Nov 14 Javascript
jQuery插件PageSlide实现左右侧栏导航菜单
Apr 12 Javascript
深入剖析JavaScript:Object类型
May 10 Javascript
JavaScript性能优化总结之加载与执行
Aug 11 Javascript
深入理解Angular.JS中的Scope继承
Jun 04 Javascript
vue系列之动态路由详解【原创】
Sep 10 Javascript
基于Node.js实现压缩和解压缩的方法
Feb 13 Javascript
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
Dec 11 jQuery
详解写好JS条件语句的5条守则
Feb 28 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之预定义接口详解
2015/07/29 PHP
smarty高级特性之过滤器的使用方法
2015/12/25 PHP
php简单获取复选框值的方法
2016/05/11 PHP
wordpress网站转移到本地运行测试的方法
2017/03/15 PHP
JAVASCRIPT keycode总结
2009/02/04 Javascript
javascript 读取XML数据,在页面中展现、编辑、保存的实现
2009/10/27 Javascript
High Performance JavaScript(高性能JavaScript)读书笔记分析
2011/05/05 Javascript
jquery实现表格中点击相应行变色功能效果【实例代码】
2016/05/09 Javascript
js简单实现图片延迟加载的方法
2016/07/19 Javascript
AngularJS 服务详细讲解及示例代码
2016/08/17 Javascript
jQuery中select与datalist制作下拉菜单时的区别浅析
2016/12/30 Javascript
jQuery实现简单弹窗遮罩效果
2017/02/27 Javascript
Vue 2.0学习笔记之使用$refs访问Vue中的DOM
2017/12/19 Javascript
微信小程序上传图片功能(附后端代码)
2020/06/19 Javascript
JavaScript设计模式之模板方法模式原理与用法示例
2018/08/07 Javascript
通过实例了解JS 连续赋值
2019/09/24 Javascript
vue遍历对象中的数组取值示例
2019/11/07 Javascript
vue.js实现照片放大功能
2020/06/23 Javascript
js实现批量删除功能
2020/08/27 Javascript
Python中几个比较常见的名词解释
2015/07/04 Python
python3 对list中每个元素进行处理的方法
2018/06/29 Python
浅析Python四种数据类型
2018/09/26 Python
python实现微信机器人: 登录微信、消息接收、自动回复功能
2019/04/29 Python
六行python代码的爱心曲线详解
2019/05/17 Python
基于python 微信小程序之获取已存在模板消息列表
2019/08/05 Python
ORM Django 终端打印 SQL 语句实现解析
2019/08/09 Python
用Python绘制漫步图实例讲解
2020/02/26 Python
vscode调试django项目的方法
2020/08/06 Python
Python如何将模块打包并发布
2020/08/30 Python
HTML5实时语音通话聊天MP3压缩传输3KB每秒
2019/08/28 HTML / CSS
经典C++面试题一
2016/11/06 面试题
小学运动会广播稿200字(十二篇)
2014/01/14 职场文书
创业计划书之蛋糕店
2019/08/29 职场文书
PostgreSQL并行计算算法及参数强制并行度设置方法
2022/04/07 PostgreSQL
HTML5之高度塌陷问题的解决
2022/06/01 HTML / CSS
Tomcat安装使用及部署Web项目的3种方法汇总
2022/08/14 Servers