Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用change()检测属性值的更改_Javascript_Jquery - Fatal编程技术网

Javascript 使用change()检测属性值的更改

Javascript 使用change()检测属性值的更改,javascript,jquery,Javascript,Jquery,可能吗?我想检测div的宽度,例如,将其与on()绑定以执行某些操作 var widthVal= $('#panel').width(); $(widthVal).on('change', function(){ }); 然后我创建了一个按钮来增加#面板的宽度,但什么也没有发生 是否使用change()检测属性值的更改?有意义吗?简单的答案是使用 然而,它们得到了而且没有得到广泛的支持 我认为最好的办法是使用计时器定期检查CSS属性是否已更改 var $panel = $('#panel'

可能吗?我想检测div的宽度,例如,将其与on()绑定以执行某些操作

var widthVal= $('#panel').width();

$(widthVal).on('change', function(){

});
然后我创建了一个按钮来增加#面板的宽度,但什么也没有发生


是否使用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);

我建议使用以下方法

HTML


div将如何自动更改。一些事件将发生,div将更改您必须在此处编写代码,您可以选择查看
<div>test</div>
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);