是否有可能?我想檢測例如div的寬度,與()做一些事情綁定吧..使用change()來檢測屬性值的變化
var widthVal= $('#panel').width();
$(widthVal).on('change', function(){
});
然後我創建了一個按鈕來增加#panel的寬度,但沒有發生..
利用的變化()來檢測的屬性值的變化?合理?
是否有可能?我想檢測例如div的寬度,與()做一些事情綁定吧..使用change()來檢測屬性值的變化
var widthVal= $('#panel').width();
$(widthVal).on('change', function(){
});
然後我創建了一個按鈕來增加#panel的寬度,但沒有發生..
利用的變化()來檢測的屬性值的變化?合理?
簡單的答案是使用mutation events。
但是,他們一直deprecated,而不是廣泛的支持。
我認爲最好的辦法是用一個定時器來定期檢查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);
那麼div會改變。有些情況下如何將自動發生,DIV會改變你必須在這裏寫代碼 –
你可以選擇查看[DOM Mutation Observers]( https://hacks.mozilla.org/2012/05/dom-mutationobserver-reacting-to-dom-changes-without-killing-browser-performance/) – K3N