【发布时间】:2013-06-14 21:06:45
【问题描述】:
我需要检测一些类的变化,我使用了这个 DOMAttrModified,但是出了点问题,什么?
var first_img = $('body').find('li:first').find('img');
first_img.on('DOMAttrModified',function(e){
if (e.attrName === 'class') {
if ($(this).hasClass('current-image')) {
$(this).removeClass().addClass('previous-image');
}
console.log('log');
}
});
谢谢你的建议。
【问题讨论】:
-
attrName属性不是 jQuery 事件对象的一部分...您需要使用e.originalEvent.attrName -
不相关,但突变事件已被弃用。你可能想看看 Mutation Observers
-
@PSL 我肯定会说这是相关的。提到弃用非常重要,这很重要。我看到了你对我的回答的评论——抱歉,我们一定是在同一时间创建了自己的小提琴并发布了它们。当我在这里看到你的评论时,我意识到至少举个例子是个好主意
MutationObserver -
@Ian 事实上我没有更新你的答案,所以想把它作为评论发布,然后我看到你已经更新了 Urs :)。没有任何问题我为类似的想法做了 +1 urs。 :) 事实上,我之前在回答与引导程序相关的question 时已经对此进行了探索。 :)
-
@PSL 没问题,如果我还没有这样做,我会很乐意添加你的小提琴,我很感激!酷,谢谢你的链接。是的,我肯定听说过这些功能,但我从未探索/使用过它们,所以设置它很有趣
标签: javascript jquery dom addclass dom-events