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脚本实现Web页面信息交互
Oct 11 Javascript
javascript下arguments,caller,callee,call,apply示例及理解
Dec 24 Javascript
JS实现div内部的文字或图片自动循环滚动代码
Apr 19 Javascript
Jquery获取复选框被选中值的简单方法
Jul 04 Javascript
jquery parent和parents的区别分析
Oct 02 Javascript
jsPDF生成pdf后在网页展示实例
Jan 16 Javascript
JQuery以JSON方式提交数据到服务端示例代码
May 05 Javascript
详解JavaScript逻辑Not运算符
Dec 04 Javascript
jQuery基于muipicker实现仿ios时间选择
Feb 22 Javascript
JS中的eval 为什么加括号
Apr 13 Javascript
vue2.0 根据状态值进行样式的改变展示方法
Mar 13 Javascript
VUE基于NUXT的SSR 服务端渲染
Nov 30 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实现时间日期友好显示实现代码
2019/09/08 PHP
laravel 实现向公共模板中传值 (view composer)
2019/10/22 PHP
在IE下获取object(ActiveX)的Param的代码
2009/09/15 Javascript
jquery 输入框数字限制插件
2009/11/10 Javascript
js 页面刷新location.reload和location.replace的区别小结
2009/12/24 Javascript
经典海量jQuery插件 大家可以收藏一下
2010/02/07 Javascript
JS实现标签页效果(配合css)
2013/04/03 Javascript
基于JavaScript 声明全局变量的三种方式详解
2013/05/07 Javascript
Ajax同步与异步传输的示例代码
2013/11/21 Javascript
JS实现的通用表单验证插件完整实例
2015/08/20 Javascript
jQuery使用$.ajax进行即时验证的方法
2015/12/08 Javascript
整理关于Bootstrap模态弹出框的慕课笔记
2017/03/29 Javascript
Angularjs上传图片实例详解
2017/08/06 Javascript
vuex的简单使用教程
2018/02/02 Javascript
一个简单的node.js界面实现方法
2018/06/01 Javascript
element-ui树形控件后台返回的数据+生成组织树的工具类
2020/03/05 Javascript
在vue-cli创建的项目中使用sass操作
2020/08/10 Javascript
JavaScript中的执行环境和作用域链
2020/09/04 Javascript
JS sort排序详细使用方法示例解析
2020/09/27 Javascript
python使用xlrd模块读写Excel文件的方法
2015/05/06 Python
python 表达式和语句及for、while循环练习实例
2017/07/07 Python
浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
2020/06/30 Python
PyCharm 2020.2 安装详细教程
2020/09/25 Python
Hoover胡佛官网:美国吸尘器和洗地机品牌
2019/01/09 全球购物
Timberland法国官网:购买靴子、鞋子、衣服、夹克和配饰
2019/11/30 全球购物
路由表示做什么用的?在linux环境中怎么来配置一条默认路由?
2013/06/07 面试题
解决方案设计综合面试题
2015/08/31 面试题
文明工地标语
2014/06/16 职场文书
护士节活动总结
2014/08/29 职场文书
倡议书格式
2014/08/30 职场文书
部队反四风对照检查材料
2014/09/26 职场文书
股权转让协议范本
2014/12/07 职场文书
资产移交协议书
2016/03/24 职场文书
美甲店的创业计划书模板
2019/08/23 职场文书
俄罗斯十大城市人口排名,第三首都仅排第六,第二是北方首都
2022/03/20 杂记
MySQL磁盘碎片整理实例演示
2022/04/03 MySQL