Как получить доступ к событиям, которые привязаны к элементу в knockout.js

0

У меня есть контроль даты, который выглядит так.

<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, как это дубликат?
Теги:
knockout.js

1 ответ

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

Обновление Возможно, больше похоже на: var x = $ ($ ('. OnTheMoveFormTextBoxContainer') [3]). Find ('input'). Get (0);

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

См. Эту тему Доступ к привязке к нокауту от дочернего элемента

  • 0
    Спасибо, это именно то, что я искал.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню