2014-05-23 72 views
0

我有日期控制,看起來像這樣。如何訪問數據綁定到元素的事件knockout.js

<div class="OnTheMoveFormTextBoxContainer"> 
         <input data-bind="value: formatDateTime(ko.unwrap(Started)), css: { validationElement: validateItem(Started, 'Started') }, event: { 
change: function(d, e) { 
    if (Started != $(e)[0].target.value &amp;&amp; dateWheelShown == true) { 
     $data.Started(dateToISO($(e)[0].target.value,'DD/MM/YYYY HH:mm')); 
    } 
} 
}, id: 'Started' + '_' + Id()" data-onthemove_dateformat="DD/MM/YYYY HH:mm" class="Mobile_DateTimePick ui-input-text ui-body-c ui-corner-all ui-shadow-inset ui-mini" data-mini="true" name="Started" id="scoller1400844006695" readonly=""> 
</div> 

我怎麼能訪問數據綁定事件處理程序knockout.js,我這個電流情況下onchange

我期待這樣的事情:ko.contextFor($($('.OnTheMoveFormTextBoxContainer')[3]).find('input')[0]).events

+0

@CubedEye如何是重複的? –

回答

1

您可以使用ko.bindingProvider.instance.getBindings

喜歡的東西(未經測試):

ko.bindingProvider.instance.getBindings(
       $($('.OnTheMoveFormTextBoxContainer')[3]).find('input').get(0), 
       ko.contextFor($($('.OnTheMoveFormTextBoxContainer')[3]).find('input').get(0).$root 
).event.change 

更新 也許更像是: 變種X = $($( 'OnTheMoveFormTextBoxContainer ')[3])找到(' 輸入' )獲得(0);

ko.bindingProvider.instance.getBindings(x, ko.contextFor(x)).event 

看到這個線程Access knockout binding from child element

+0

感謝這正是我正在尋找。 –

相關問題