2016-12-16 4 views
0

Я использую эту форму коды:Добавления EventListeners для событий UIKit в Scalajs Реагировать

dom.document.getElementById("contents").addEventListener("click", { 
    (e0: dom.Event) => println("Got the click event at top level!") 
}, false) 

Экспериментировать с перехватом событий в Reactjs. Это отлично подходит для события click. Однако, при попытке сделать то же самое с UIKit событиями для вложенности компоненты, как показано ниже:

dom.document.getElementById("contents").addEventListener("start.uk.nestable", { 
    (e0: dom.Event) => println("Got the start event at top level!") 
}, false) 

Я ничего не получаю. В nestable documentation перечислены четыре имени события, и я пробовал их все - но никогда не получал никакого ответа при манипулировании nestables. Я понимаю, что без захвата события должны подниматься до верхнего уровня, где слушатель присоединяется; но при использовании devtools для отслеживания событий во всем документе кажется, что события вложенности не запускаются.

Неверный тип события? Неверное имя события? По какой-то причине UiKit проглатывает свои события? Благодарен за любую помощь.

+0

Я думаю, 'addEventListener' будет слушать только собственные события https://developer.mozilla.org/en-US/docs/Web/Events. вам нужно использовать jquery для списка для 'start.uk.nestable' что-то вроде' $ ("# contents"). on ('start.uk.nestable', function() { println («Получено начало мероприятия наверху level! ") });' – sandyJoshi

+0

Я думаю, что он может слушать пользовательские события, но пока не понимаю, как это сделать. Jquery действительно работает, чтобы выполнять привязки слушателя, так что это начало - я думаю, что реализации scalajs сбиваются с помощью пространства имен, которое использует UIKit, чтобы работать рука об руку с JQuery. "[event] DOT [namespace]" и т. д. – Greg

+0

Появляется проблемой JQuery в корне, в соответствии с этой проблемой в проекте scalajs-реакции: https://github.com/japgolly/scalajs-react/issues/294 – Greg

ответ

0

Видимо, это является следствием уверенности UIKit на использовании .trigger Jquery (в), чтобы отправить свои собственные события, которые обычно не могут быть прослушанные только через JQuery в соответствии с настоящим сообщение об ошибке:

https://bugs.jquery.com/ticket/11047

Это в том случае, когда я взял вручную добавление jquery-прослушивателей в настройку моей страницы и перезванивание в код Scalajs через обычный метод @JSExport.

Смежные вопросы