使用 change() 检测属性值的变化
use change() to detect changes of attribute value
可能吗?例如,我想检测div 的宽度,将其与 on() 绑定以执行某些操作。
var widthVal= $('#panel').width();
$(widthVal).on('change', function(){
});
然后我创建了一个按钮来增加 #panel 的宽度,但没有任何反应。
使用 change() 来检测属性值的变化吗? 有意义吗?
简单的答案是使用突变事件。
但是,它们已被弃用,并且未得到广泛支持。
我认为您最好的选择是使用计时器定期检查 CSS 属性是否已更改;
var $panel = $('#panel');
var width = $panel.width();
$panel.on('resized', function () {
// do something!
});
setInterval(function () {
if ($panel.width() !== width) $panel.trigger('resized');
}, 50);
我建议使用以下方法 http://jsfiddle.net/krasimir/5PXnv/
.HTML
<div>test</div>
.JS
var changeWidth = function(el, width) {
el.css("width", width + "px");
el.trigger("width-changed");
}
var div = $("div");
div.on("width-changed", function() {
console.log("changed");
});
setTimeout(function() {
changeWidth(div, 200);
}, 1000);
相关文章:
- 在异步函数调用过程中,当对象的属性值发生变化时,JavaScript中的对象属性值会发生什么变化
- Jquery-背景图像随select中的数据属性而变化
- JS触发的复选框's已检查属性;t动态变化
- 如何观察聚合物元素属性值从索引.html的变化
- AngularJS:当css类发生变化时,如何通过切换来更改颜色属性
- 找出 Vue.js 深度自定义指令中哪个属性发生了变化
- 角度2 - 检测属性@Input的变化
- 如何处理 redux 存储所持有的数据中不断变化的属性
- AngularJS ng 样式不随属性变化
- Angularjs 指令更新到 DOM 属性值的变化
- JS监视CSS属性的变化,如“display:none”=>“display:block”
- 使用 change() 检测属性值的变化
- IFRAME中的SRC属性随onload函数而变化
- 根据可观察到的变化更新相关属性
- 当聚合物元素中的布尔属性发生变化时,如何用sort重新运行dom repeat
- 当你在HTML5视频控制器上点击播放时,哪些变量/属性会发生变化
- 计算JavaScript对象中属性百分比的变化
- 如何使用AngularJS观察由jQuery修改的属性值的变化
- 动态检测html元素属性的变化
- 聚合物:如何关注内容的变化属性