Jquery改变.live到.on,

cgw*_*cts 4 jquery

我试图改变我的所有.live(),.on()因为先前已被弃用.

我很难理解它是如何工作的.在我使用此代码之前,它运行良好...

$('#lightBoxClose').live('click', function() {
    $('#lightBox').fadeOut();
});
Run Code Online (Sandbox Code Playgroud)

所以我试着改成它,

$('#lightBoxClose').on('click', function() {
    $('#lightBox').fadeOut();
});
Run Code Online (Sandbox Code Playgroud)

但它没有用,任何人都可以解释我应该做的事情,谢谢.

bfa*_*tto 10

您必须绑定到绑定时已存在的元素,并将目标选择器作为第二个参数传递.该元素必须是最终点击目标的祖先,因此它可以捕获起泡事件.这种技术称为委托.

例如,使用document元素:

$(document).on('click', '#lightBoxClose', function() {
    $('#lightBox').fadeOut();
});
Run Code Online (Sandbox Code Playgroud)

  • 真?那太令人失望了.为什么它默认不绑定到窗口? (2认同)