如何使用jQuery在类更改时触发事件?

如何使用jQuery在类更改时触发事件?,第1张

如何使用jQuery在类更改时触发事件

类更改时不会引发任何事件。另一种方法是在以编程方式更改类时手动引发事件:

$someElement.on('event', function() {    $('#myDiv').addClass('submission-ok').trigger('classChange');});// in another js file, far, far away$('#myDiv').on('classChange', function() {     // do stuff});

更新

这个问题似乎正在吸引一些访问者,因此这里是一种更新方法,可以使用该方法而不必使用new修改现有代码

MutationObserver

var $div = $("#foo");var observer = new MutationObserver(function(mutations) {  mutations.forEach(function(mutation) {    if (mutation.attributeName === "class") {      var attributevalue = $(mutation.target).prop(mutation.attributeName);      console.log("Class attribute changed to:", attributevalue);    }  });});observer.observe($div[0], {  attributes: true});$div.addClass('red');.red { color: #C00; }<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><div id="foo" >#foo.bar</div>

请注意,

MutationObserver
只能用于更新的浏览器,特别是Chrome 26,FF 14,IE 11,Opera
15和Safari6。如果需要支持旧版浏览器,则需要使用我在第一个示例中概述的方法。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5462472.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存