是否可以使用JQuery将更改绑定到元素的样式?

这是我的代码:



$(".bnotify").on("change",$(".bnotify").css("display"),function(){
alert("changed");
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="bnotify" style="width:20px;height:20px;background:red"></div>
<input type="submit" onclick="$('.bnotify').toggle()">





那么,有什么方法可以显示.bnotify的显示更改警报?

非常感谢您花费宝贵的时间处理我的问题。

非常感谢您的帮助。

最佳答案

不,你不能。
事实是,$('.selector').css(<propName>)返回一个字符串,您实际上不能将其绑定到一个事实,即该字符串与样式属性有关。
如果您确实想观察某个DOM节点中的更改,则可以使用MutationObserver,但不要忘记过滤这些突变,因为这可能会影响应用程序的性能。
如果只有一个回调会影响某个DOM节点,则可以选择一种简化的方法,然后创建类似于通知回调工厂的内容:

var createNotificationCb = function(cb, message) {
   return function() {cb.apply(this, arguments);
   alert(message)};
};

08-06 02:36