- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我想在每个“喜欢”按钮(chrome 扩展)之后添加一个元素。由于帖子是在不刷新页面的情况下添加到新闻提要中的,因此我必须添加一个事件监听器“DOMNodeInserted
”。但是当我尝试将 after()
函数放入其中时,它不起作用。
代码:
$("#contentArea").addEventListener("DOMNodeInserted", function(event) {
$(".like_link").after('<span class="dot"> · </span><button class="taheles_link stat_elem as_link" title="תגיד תכל´ס" type="submit" name="taheles" onclick="apply_taheles()" data-ft="{"tn":">","type":22}"><span class="taheles_default_message">תכל´ס</span><span class="taheles_saving_message">לא תכלס</span></button>');
$(".taheles_saving_message").hide();
});
当我将 $("#contentArea")
更改为 document
时,整个页面都崩溃了。
最佳答案
如果你想在 jQuery 中添加一个事件监听器,那不是方法,正确的方法应该总是:
$(document or window).bind( your_event_name, function(event) { your_callback });
考虑到这一点,你可以这样写:
$(document).bind('DOMNodeInserted', function(event) {
alert('inserted ' + event.target.nodeName + // new node
' in ' + event.relatedNode.nodeName); // parent
});
或者每次在 DOM 中插入节点时执行您需要执行的操作。
请注意,如果您想使用 addEventListener
,您需要使用纯 javascript 而不是 jQuery。
document.addEventListener("DOMNodeInserted", function () {
// your code
}, false);
编辑:与 jQuery 1.7 一样,请改用 '.on' 函数:http://api.jquery.com/on/
您的方法出现的另一个错误(如果有效)是您将在插入节点 并调用DOMNodeInserted
时破坏您的应用程序(因为您已插入一个节点),这将再次插入该节点,并再次调用 DOMNodeInserted
...
你可以看到发生了什么......
我建议您听取正确的方法并在此处附加您的 span
...
关于javascript - 调用 "DOMNodeInserted"事件时添加一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10667935/
我正在使用 DOMNodeInserted MutationEvent,有什么方法可以使用此事件仅选择新插入的元素吗?当所有输入插入文档时,我必须向它们添加类。我正在通过 AJAX 请求向表单插入新的
基于this question ,我写了以下代码: $(function() { $( document ).on('DOMNodeInserted',"span:contains('Sugg
我有一个问题.. “DOMNodeInserted”没有按预期工作。我不确定我是否正确使用它。 有什么想法吗? 最佳答案 编辑:使用MutationObserver进一步向下滚动以获得更好的方法。 .
DOMNodeInserted event has been deprecated并且所有的突变事件都被突变观察者所取代。 但是,within mutation observers只有配置选项可以观察
我有一个奇怪的问题: 我正在开发一个 chrome 扩展,它在 facebook 中的“喜欢”按钮旁边添加了一个自定义按钮。到目前为止,在很多帮助下,我找到了一种运行脚本的方法,即使帖子被添加到新闻源
众所周知,DOMNodeInserted 会使动态页面变慢,MDN even recommends不完全使用它,但不提供任何替代方案。 我对插入的元素不感兴趣,我只需要知道某些脚本何时修改了 DOM。
我正在尝试编写一个“覆盖”在 Facebook 页面之上的 JavaScript 脚本。它使用 DOMContentLoaded 来检测何时加载内容,然后添加一些额外的东西。但是,因为 Faceboo
我想在每个“喜欢”按钮(chrome 扩展)之后添加一个元素。由于帖子是在不刷新页面的情况下添加到新闻提要中的,因此我必须添加一个事件监听器“DOMNodeInserted”。但是当我尝试将 afte
DOMNodeInserted 当节点“被附加到”或“被附加”时调用事件? 我问这个是因为下面的代码: function AddTextToContainer () { var textNod
当然这个问题很简单,但我就是想不通。 我正在使用 DOMNodeInserted 事件来检测何时插入新元素。 我不知道如何使用当前元素,例如获取它的父元素。 现在我有这样的功能: document.a
除了使用计时器来计算一段时间内的元素数量并寻找变化之外,我想不出更好的方法来模拟这个事件。 是否有某种专有的 IE 版本的 DOMNodeInserted?谢谢。 最佳答案 不,没有。最近的是prop
除了计数器之外,下面的代码工作正常。当我向列表中添加一项时,计数器是准确的,但当我从列表中删除一项时,计数器不会减一。有任何想法吗? HTML 1
我正在尝试监听具有特定类的节点动态添加到 DOM。添加此节点后,我想向此节点添加一个插件实例。我遇到的问题是 DOMNodeInserted 运行了多次,然后在这个导致问题的节点上多次运行我的插件。
我觉得这对于任何非业余爱好者来说可能会立即显而易见,但我已经为此困惑了好几天。 我正在编写一个在文档开始时执行脚本的 Chrome 扩展。我想在加载时重写特定 DIV 的 HTML,但在将它们显示给用
根据wiki中的DOM事件发现in the wiki link here , DOMNodeInserted:当一个节点被添加为另一个节点的子节点时触发 DOMNodeInsertedIntoDocu
我正在开发一个 chrome 扩展,我有一个函数 addToPage() ,它将一个带有 xyz 类的 div 添加到加载的页面。现在,当页面通过某些操作(而不是通过重新加载)更改时,我添加的 div
当一条新的聊天消息出现在 tampermonkey 脚本中的 YouTube 直播流上时,我正在尝试执行某些操作。 我在 ID 为“chat-messages”的 div 上使用 DOMNodeIns
这个问题已经在 stackoverflow 上被问过几次了,但我还没有找到适合我独特情况的解决方案。 我正在寻找替换已弃用的代码 livequery 和 DOMNodeInserted。示例如下所示。
当元素通过 DOMNodeInserted 事件插入到文档中时,我正在应用事件监听器函数。元素快速连续插入,但我只想让我的函数在每批元素插入中执行一次。 我曾尝试在我的闭包中使用一个具有全局范围的 b
如果我在下面运行: $(document).bind('DOMNodeInserted', function(){ $('.new', this).hide(); }); 它会正常运行并且
我是一名优秀的程序员,十分优秀!