为了账号安全,请及时绑定邮箱和手机立即绑定

.click(function(){});和.on('click',function(){})的区别是什么??

感觉都是单击触发效果。

正在回答

3 回答

var a = $('<div class="cl">创建节点</div>');

a.appendTo('body');

$('.cl').click(function(){console.log('click无on')});

$('body').append('<div class="cl">新建节点</div>');


0 回复 有任何疑惑可以回复我~

click定义了以后,只对上文的dom有效果,下文新建的dom是没有这个事件的

on了以后,不管是上文拥有的dom,还是新建的dom,都有这个事件

一个很简单的例子:

不用on:

var a = $('<div class="cl">创建节点</div>');

a.appendTo('body');

$('.cl').click(function(){console.log('click无on')});

$('body').append('<div class="cl">新建节点</div>');

这个只有创建节点这个dom上点击有console,新建节点没有console

下面用on:

var a = $('<div class="cl">创建节点</div>');

a.appendTo('body');

$(document).on('click', '.cl', function(){console.log('click有on')});

$('body').append('<div class="cl">新建节点</div>');

这个创建节点和新建节点都有console

1 回复 有任何疑惑可以回复我~

基本没什么区别,只是前者是静态处理事件而后者是动态处理事件。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

.click(function(){});和.on('click',function(){})的区别是什么??

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信