我是靠谱客的博主 轻松电脑,最近开发中收集的这篇文章主要介绍jquery.on()超级方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

定义和用法:

1. on() 方法在被选元素及其子元素上添加一个或多个 事件处理程序
2.自jquery1.7版本之后 on()方法是bind() live() delegate() 方法新的替代品 推荐使用此方法!使用其他的方法可能会出现不兼容的问题
3.使用on()方法添加的事件程序适用于当前及未来的程序(这里的未来的程序是脚本创建的新元素,或者是以前的事件代理程序)
4. 如果要移除使用on()方法添加的事件处理程序 请使用与之对应的off()方法
5.如果你想事件执行一次就移除请使用one()方法
6.on()方法支持自定义事件

语法:
$(selector).on(event, childSelector,data,function);

参数说明:

event 必须  事件的名称(可以自定义) 支持绑定多个事件 多个事件用空格分开 也可以是map参数和数组
childSelector 可选 添加事件程序的子元素而且不是父选择器本身
data  可选 传递到事件对象 event的额外的参数
function 必选 规定事件发生时运行的函数

假如有100个<li>元素需要绑定一个click简单事件绑定,通常的做法是:

$('li').click(eventHandler);
function eventHandler(event){
  alert(event.target.innerHtml);
}

但是这样做有两个缺点:
每个元素绑定了相同的事件,进行了大量的重复操作。
当向ul中加入新的元素时,需要再次为这个新元素绑定上述事件。

第一个参数是事件名,可以只绑定一个事件,如on(‘click’),也可以绑定多个事件,如on(‘click dbclick mouseover’)等

$('ul').on('click mouseover',eventHandler);//绑定多个事件

第二个参数是可选参数,接受一个selector,当事件触发元素符合selector时,会调用事件处理函数。

$('ul').on('click mouseover','li',eventHandler);//触发元素是li时执行eventandler<br>
$('ul').on('click mouseover','li:<strong>even</strong>',eventHandler);//触发元素是li时,而且元素是第单数个时执行eventandler

第三个参数是事件处理函数。

$('ul').on('click','li',function () {
console.log('哈哈');
});

 

最后

以上就是轻松电脑为你收集整理的jquery.on()超级方法的全部内容,希望文章能够帮你解决jquery.on()超级方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部