点击事件click和.on('click') 两者之间的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了点击事件click和.on('click') 两者之间的区别相关的知识,希望对你有一定的参考价值。
参考技术A 点击事件click和.on('click') 两者之间的区别第1种事件
$('.XX').click('.xxx',function() alert('xxx') );
第2种事件
$('.XXX').on('click','.xxx', function() alert('xxx') )
click是点击事件,但是在页面加载完之后,jquery事件新添加的元素,用click的话是无法获取元素的,这个时候要用on去获取元素事件,简单的说页面加载完成时候页面显示的元素可以用on,也可以用click,但是页面加载完成之后后期再追加的元素只能用on。
这两个事件的区别之处在于:
简单的说页面加载完成时候页面显示的元素(DOM节点已全部加载完)可以用on, 也可以用click,
但是在页面加载完成之后后期再追加元素(DOM节点元素还没完全显示出来)只能用on
解释一下:
$('.AAA').on('click','.bbb', function() alert('bbb') )
获取class 为bbb元素的上一级(或父级)元素,选择click的方式,执行回调函数function ()并运行弹出元素bbb,这里的on,元素bbb如果没全部加载出来。没有直接获取到class为bbb的元素,这个时候它就会去找上一级(或父级)的元素,然后在从上一级(或父级)往下接着再执行,就会找到class为bbb的元素了,就触发了点击事件,并执行事件里面的函数啦 ~
$("p").on("click",function()
alert("段落被点击了。");
);
关于jquery中on绑定click事件在苹果手机失效的问题
因为是动态添加的内容,所以想要使用click事件,需要给他用on绑定一下:
$(document).on("click",".next_button",function(){
alert();
});
这个时候,使用苹果手机访问的时候,发现了一个坑爹的问题,如论如何点击“下一步”,都没有任何反应,可是在安卓和各种模拟器中一切正常。后来经过查找资料才知道,苹果有这么个设置:
对于点击的对象,拥有cursor:pointer这个样式的设置,也就是说,鼠标放上去,能够出现“手”型的图标才被认作可以使用点击事件,于是果断增加了样式
<style>
.next_button{ cursor:pointer }
</style>
文章转自:http://blog.csdn.net/yuexiage1/article/details/51612496
以上是关于点击事件click和.on('click') 两者之间的区别的主要内容,如果未能解决你的问题,请参考以下文章
$().click()和$(document).on('click','要选择的元素',function(){})的不同
关于JS 事件冒泡和onclick,click,on()事件触发顺序