2016-05-07 7 views
1

Ich versuche, das Ereignis an meine Funktion auf einer Auswahl übergeben. DieseKnockout Zugriff ändern Ereignis bei Auswahl Funktion

ist aus der K.-o.-Dokumentation:

<div data-bind="event: { mouseover: function(data, event) { myFunction('param1', 'param2', data, event) } }"> 
    Mouse over me 
</div> 

ich es so versucht:

<select name="ans" data-bind="options: $root.Answers,optionsValue: 'Answer',value: Answer(),event:{change: function(event){ $root.selectAnswer($data,$index,$element.name,event)}}"></select> 

Funktion

self.selectAnswer = function (data,index,type,event) 
{  
    if (event.originalEvent) 
    { 
     ... 
    } 
} 

Das Problem, das ich bin vor ist, dass das Ereignis I Ich bekomme tatsächlich $ Daten und nicht das Ereignis.

Antwort

0

Das macht Sinn, richtig. Vergleichen Sie die docs Sie zitieren:

mouseover: function(data, event) { myFunction 

mit Ihrer Version:

event: { change: function(event) { $root.se 

Das erste Argument des Handlers erhält der $data, die in Ihrem event benannte Argument geht. Sie sollten Ihre Version ändern:

event: { change: function(data, event) { $root.se 

Und die event enthält tatsächlich die event.

+0

das war es, super! Danke – xDevil

Verwandte Themen