当我订阅一个名为“degree”的可观察对象时,我想在回调中使用 event.target 来获取触发 change 事件的 DOM 元素。这适用于 Chrome,但在 Firefox 中我得到“未定义事件”
self.degree.subscribe(function(degree){
console.log(event.target);
})
当我订阅一个名为“degree”的可观察对象时,我想在回调中使用 event.target 来获取触发 change 事件的 DOM 元素。这适用于 Chrome,但在 Firefox 中我得到“未定义事件”
self.degree.subscribe(function(degree){
console.log(event.target);
})
subscribe
API 不会将 an 传递给event
回调。在某些浏览器(如 Firefox)中,event
不能继续存在window
,只能作为事件处理程序的参数访问。
根据您要执行的操作,您可以执行以下操作:
<input data-bind="event: { change: myHandler }" />
然后,定义一个处理程序:
myHandler: function(data, event) {
//do something
}
然而,在视图模型中访问 DOM 元素在 Knockout 中通常不是一个好的模式。自定义绑定是在视图模型更改和 DOM 元素之间建立联系的好方法。