select 函数上的 Knockout 访问更改事件
Knockout Access change event on select function
我正在尝试将事件传递给 select 上的函数。
这是来自淘汰赛的文件:
<div data-bind="event: { mouseover: function(data, event) { myFunction('param1', 'param2', data, event) } }">
Mouse over me
</div>
我试过这样的:
<select name="ans" data-bind="options: $root.Answers,optionsValue: 'Answer',value: Answer(),event:{change: function(event){ $root.selectAnswer($data,$index,$element.name,event)}}"></select>
函数
self.selectAnswer = function (data,index,type,event)
{
if (event.originalEvent)
{
...
}
}
我面临的问题是我得到的事件实际上是 $data 而不是事件。
有道理,对吧。比较您引用的文档:
mouseover: function(data, event) { myFunction
你的版本:
event: { change: function(event) { $root.se
处理程序的第一个参数将接收 $data
,它进入您的 event
命名参数。您应该将版本更改为:
event: { change: function(data, event) { $root.se
而 event
实际上将包含 event
。
我正在尝试将事件传递给 select 上的函数。
这是来自淘汰赛的文件:
<div data-bind="event: { mouseover: function(data, event) { myFunction('param1', 'param2', data, event) } }">
Mouse over me
</div>
我试过这样的:
<select name="ans" data-bind="options: $root.Answers,optionsValue: 'Answer',value: Answer(),event:{change: function(event){ $root.selectAnswer($data,$index,$element.name,event)}}"></select>
函数
self.selectAnswer = function (data,index,type,event)
{
if (event.originalEvent)
{
...
}
}
我面临的问题是我得到的事件实际上是 $data 而不是事件。
有道理,对吧。比较您引用的文档:
mouseover: function(data, event) { myFunction
你的版本:
event: { change: function(event) { $root.se
处理程序的第一个参数将接收 $data
,它进入您的 event
命名参数。您应该将版本更改为:
event: { change: function(data, event) { $root.se
而 event
实际上将包含 event
。