Intereting Posts
Kotlin coroutines в Android: зачем использовать bg () из Anko вместо async ()? kotlin, Как значение действительной переменной мы можем изменить в другом классе, к которому она передала параметр? java.lang.IllegalStateException: архивы Dex: установка расширения .DEX только для файлов .CLASS Задержка загрузки объектов Kotlin «kapt.generateStubs» не используется плагином «kotlin-kapt» Просмотр не обновляется после первого запуска LiveData при использовании фоновой работы в Android Kotlin – Функция ожидания бесконечные последовательности kotlin с функцией итератора Ошибка перегрузки Ошибка в котлине Как предотвратить Джексона от (де) сериализации определенных свойств? Проблемы подтипа с дженериками в Котлине Как указать параметр типа, который я не знаю Разрешение ошибок случайного перекрытия в Котлине Kotlin maven plugin порядок компиляции Почему выражения лямбда ведут себя по-разному для классов Kotlin и Java?

Kotlin получает цель jquery click

Если я напишу следующий код, я получу ошибку компилятора: «Unresolved refrence: target»

jq("#element").click { console.log(it.target) } 

Однако, если я печатаю только «это», он имеет целевое значение свойства

 r.Event {originalEvent: MouseEvent, type: "click", target: button, currentTarget: button, relatedTarget: null…} 

Как я получил поддержку, чтобы получить цель?

Я полагаю, вы используете jq из стандартной библиотеки, и, прежде всего, jq из стандартной библиотеки устарел.

Затем давайте посмотрим на определение обработчика click :

 public fun click(handler: (MouseClickEvent) -> Unit): JQuery 

Как вы видите, в вашем случае это MouseClickEvent . Но MouseClickEvent и MouseEvent не содержат target .

Вы можете написать собственные привязки для jquery:

 import jquery.MouseClickEvent import jquery.MouseEvent @JsName("$") public external fun jq(selector: String): JQuery public external class JQuery() { public fun click(handler: (ExtendedMouseClickEvent) -> Unit): JQuery } public external class ExtendedMouseClickEvent() : MouseEvent { public val target: JQuery public val which: Int } fun main(args: Array<String>) { jq("#element").click { console.log(it.target) } } 

Кроме того, вы можете конвертировать существующие определения для TypeScript в kotlin.

jQuery: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/jquery

ts2kt: https://github.com/Kotlin/ts2kt