【问题标题】:jQuery event delegate listener not firing [duplicate]jQuery事件委托侦听器未触发[重复]
【发布时间】:2014-12-15 23:27:00
【问题描述】:

我正在创建一个 Google Chrome 扩展程序,并尝试为此修改 Twitter 的主页代码。

每当用户点击每条推文中出现的--- More 按钮时,我都需要收到通知。基本上我使用以下事件委托代码:

$(document).on('click', '.dropdown-toggle', function() {
    console.log('Hi !');
});

它适用于主页上的所有推文和通过 Ajax 加载的推文(这就是我使用事件委托的原因:D),但它不适用于在时间轴中展开推文时出现的子推文/答案.然而菜单仍然有 dropdown-toggle 类,但回调没有被调用。

所以我虽然 Twitter 的代码调用了 event.stopPropagation() 或类似的,所以我尝试通过调用 $(button).off() 来删除其中一个上的事件侦听器,但它也不起作用。

【问题讨论】:

    标签: javascript jquery twitter google-chrome-extension event-delegation


    【解决方案1】:
    $('.dropdown-toggle').on('click', function() {
        console.log('Hi !');
    });
    

    【讨论】:

    • 不适用于通过 Ajax 加载的推文。这就是我使用事件委托的原因。
    猜你喜欢
    • 2013-05-19
    • 1970-01-01
    • 2020-09-06
    • 1970-01-01
    • 2021-01-14
    • 1970-01-01
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    相关资源
    最近更新 更多