javascript - JQuery 绑定(bind)样式更改

标签 javascript jquery html

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

这是我的代码:

$(".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>)返回一个字符串,您无法真正将其与事实绑定(bind),即它应该与样式属性相关。 如果你确实想观察某个DOM节点的变化,可以使用 MutationObserver ,但不要忘记过滤突变,因为这可能会影响应用程序的性能。 如果你只有一个回调,它可以影响某个 DOM 节点,那么你可以选择一种简化的方法,只创建一个类似通知回调工厂的东西:

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

关于javascript - JQuery 绑定(bind)样式更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48097770/

相关文章:

javascript - ApolloClient超时最佳选择

javascript - 防止篡改客户端地理编码结果

javascript - 使用 html 作为 knockout 组件的输入

javascript - 如果在使用 document.write 创建的页面上单击 anchor ,Firefox 的行为与其他浏览器不同。有解决方法吗?

JavaScript : Change Div Length

javascript - 同一页上有 2 个幻灯片

javascript - 如何处理 Net Core 中的 net::ERR_INTERNET_DISCONNECTED 错误

jquery - function(){ 和 function(e){ 之间的区别

javascript - 在日期更改时触发函数

javascript - JQuery:在元素的 HTML 之前附加项目