【问题标题】:jQuery event listener for the insertion of an element specific class用于插入元素特定类的 jQuery 事件监听器
【发布时间】:2013-07-17 15:11:12
【问题描述】:

我正在尝试将一些 CSS 类动态添加到我无法控制其创建的一些元素中。我知道我正在寻找的 div 会像这样添加:mydiv.appendChild(resdiv)。但是,我无法在创建它们的那一刻添加代码。我知道动态添加的这个 div 的每个实例都会有一个特定的 CSS 类(我们称之为output-class)。我理论上可以将 CSS 规则添加到该特定类,但我宁愿不这样做 - 这会导致很多样式的重复。

我想要做的是在将具有output-class 类的 div 添加到页面后立即触发一个事件。我正在尝试动态添加更多 CSS 类。到目前为止,这是我所拥有的:

jQuery('body').on('DOMNodeInserted', ".output-class", function(event) {
    var el = $(this);
    el.addClass('my new class');
    // do some more manipulation of the new div (el).
});

但是,据我所知,从未调用过此回调。我做错了什么?

【问题讨论】:

  • 如果您的 DOM 元素是通过 AJAX 请求成功/完成回调添加的,您可以设置一个全局 ajaxComplete 事件处理程序来检查这些添加的元素。
  • 天哪,@DevlshOne!我已经打开了一个带有该答案的选项卡,我只是略读了它而不是实际阅读它:(。做到了。如果您将其作为答案,我会接受。(也感谢@sdespont,这也是正确的回答)。

标签: javascript javascript-events jquery


【解决方案1】:

有几个涉及DOM插入的相关问题,包括this one,其中包含以下代码:

document.addEventListener("DOMNodeInserted", function(event) {
    alert($(event.target).parent()[0].tagName);
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-11
    • 2014-05-11
    • 2021-03-17
    • 2022-01-17
    • 2017-04-16
    • 1970-01-01
    • 1970-01-01
    • 2011-12-21
    相关资源
    最近更新 更多