将事件绑定到 ++ 运算符
Bind event to ++ operator
我想在变量递增时触发一个事件。这可能吗?
var a = 0;
// if this variable gets incremented ++ to 1, I want to trigger an event.
// how can I create listener for it?
谷歌没有提供帮助。
直接像你的例子一样,这是不可能的。
但是,如果值位于对象中,则可以使用setter
defineProperty
来了解值何时更改:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty
最终,您可以使用Object.observe
http://updates.html5rocks.com/2012/11/Respond-to-change-with-Object-observe 侦听对象上的更改
支持旧版浏览器
请注意,defineProperty
不适用于旧浏览器。
如果需要支持旧的,可以创建一个接口来更改对象值,并在方法上执行所需的操作(如myInt.increment()
)。(此模式在 Backbone、Ember 等中使用)
或者你可以通过运行循环(setTimeout
)并将新值与缓存的旧值进行比较来进行一些脏检查......(这是Angular采取的解决方案.js)
相关文章:
- 在VanillaJS中模拟模型双向数据绑定
- 无法通过数组映射绑定
- 主干-不管怎样,检查事件以前是否绑定过
- 用于搜索的聚合物嵌套绑定
- Angular:更新一次性绑定的数据
- 如何使用ngrepeat和双向绑定获得指令的隔离范围
- react.js中的密钥绑定
- 使用regex的jquery keydown绑定不会验证撇号和句点
- 将事件处理程序绑定到任何可能的事件
- AngularJS指令只识别双向绑定类型
- Telerik rad组合框多列数据绑定
- 使用AngularJs数据绑定的三元运算符显示图像
- AngularJs一次绑定和布尔运算符的值顺序
- 将 JavaScript 相等运算符绑定到 Java 函数
- 将事件绑定到 ++ 运算符
- 使用带有挖空安全绑定的 javascript 三元运算符时出错
- JS绑定函数的性质和函数调用运算符
- jQuery-将两个事件绑定到一个AND运算符
- ecmascript和谐-JavaScript双冒号(绑定运算符)
- JS中的赋值运算符是(重新)绑定还是突变