javascript - 如何在对象更改时生成 Jquery 事件?

标签 javascript jquery

我确信这个问题有一些非常简单的解决方案,至少看起来应该有。但我没找到...

我有一个对象(它不是 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/

相关文章:

javascript - 5 秒后删除内容表单标签

javascript - cookie 的设置值 - 名称中的冒号

javascript - 如果输入文件在没有表单的ajax请求中作为数组元素传递,为什么数组对象变为空

javascript - 如何使用 jQuery 循环访问 WordPress WP_Query 对象?

javascript - Vuejs如何将点击功能设置为语义UI的关闭功能?

javascript - Angular 2 如果不在数组中则隐藏

javascript - NodeJS - 从 Google Drive 下载

javascript - 文件上传: View is not updating on non angular event

javascript - 使用内联 JavaScript 将分钟转换为 "x hours y minutes"的非常简单的方法是什么?

jquery - 如何使用正则表达式验证整数和小数值?