我确信这个问题有一些非常简单的解决方案,至少看起来应该有。但我没找到...
我有一个对象(它不是 DOM 的一部分)并且它的属性会定期更新:
var myobject;
//wait 10 seconds
myobject.property1 = "abc";
我想在该属性发生更改时触发一个操作(不仅仅是 1,而是许多不同的属性)。我该如何在 JQuery 中执行此操作?
最佳答案
您可以触发自定义事件。
function changeProperty(obj, prop, value) {
if (prop in obj && obj[prop] !== value) {
obj[prop] = value;
// trigger on document is just an example.
$(document).trigger('PropertyChange', [obj, prop]);
}
}
var myobject;
// use the function to change property.
changeProperty(myobject, 'property1', 'abc');
// bind this custom event
$(document).on('PropertyChange', function(obj, prop) {
console.log(obj, prop);
});
关于javascript - 如何在对象更改时生成 Jquery 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11237328/