0

当我订阅一个名为“degree”的可观察对象时,我想在回调中使用 event.target 来获取触发 change 事件的 DOM 元素。这适用于 Chrome,但在 Firefox 中我得到“未定义事件”

 self.degree.subscribe(function(degree){
  console.log(event.target);
 })
4

1 回答 1

2

subscribeAPI 不会将 an 传递给event回调。在某些浏览器(如 Firefox)中,event不能继续存在window,只能作为事件处理程序的参数访问。

根据您要执行的操作,您可以执行以下操作:

<input data-bind="event: { change: myHandler }" />

然后,定义一个处理程序:

myHandler: function(data, event) {
     //do something
}

然而,在视图模型中访问 DOM 元素在 Knockout 中通常不是一个好的模式。自定义绑定是在视图模型更改和 DOM 元素之间建立联系的好方法。

于 2013-10-10T01:29:56.160 回答