3 回答
TA贡献1783条经验 获得超4个赞
主要区别在于,它live也适用于页面加载后将创建的元素(即,通过JavaScript代码),而bind只会绑定当前现有项目的事件处理程序。
// BIND example
$('div').bind('mouseover', doSomething);
// this new div WILL NOT HAVE mouseover event handler registered
$('<div/>').appendTo('div:last');
// LIVE example
$('div').live('mouseover', doSomething);
// this new appended div WILL HAVE mouseover event handler registered
$('<div/>').appendTo('div:last');
更新:
jQuery 1.7不推荐使用的live()方法,而1.9已将其删除。如果要使用1.9+实现相同的功能,则需要使用新方法on(),该方法的语法与在文档对象上调用时的语法略有不同,并且选择器作为参数传递。因此,从上面转换为这种新的绑定事件方式的代码将如下所示:
// ON example
$(document).on('mouseover', 'div', doSomething);
// this new appended div WILL HAVE mouseover event handler registered
$('<div/>').appendTo('div:last');
- 3 回答
- 0 关注
- 454 浏览
添加回答
举报