Kotlin recibe el objective de hacer clic en jquery

Si escribo el siguiente código, obtengo el error del comstackdor: "Refrencia sin resolver: objective"

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

Sin embargo, si imprimo solo "eso", tiene el objective de la propiedad

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

¿Cómo me exploto para get el objective entonces?

Supongo que usa jq de la biblioteca estándar y, en primer lugar, jq de la biblioteca estándar está en desuso.

Luego veamos la definición de manejador de click :

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

Como puede ver, en su caso es MouseClickEvent . Pero MouseClickEvent y MouseEvent no contiene el target .

Puedes escribir enlaces propios para 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) } } 

Además, puede convertir las definiciones existentes de TypeScript a kotlin.

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

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

  • La reference Int :: class.javaPrimitiveType.kotlin no es igual a Int :: class.javaObjectType.kotlin
  • Configuración de proyecto repetitivo en Gradle con Gradle Script Kotlin
  • ¿Cómo declarar los types sin procesar en Kotlin?
  • error: los generics no son compatibles en -source 1.3 al comstackr el código de Java con Kotlin
  • Pruebas unitarias Rxjava observables que tienen un retraso
  • Debería hashCode () devolver el ID único de un object
  • Reflexión de KFlin KFunction - get valores de parameters
  • Cómo hacer una list KOTLIN con lists de corchetes API JSON
  • Kotlin - reference no resuelta por constante
  • ¿Qué es una propiedad abierta? ¿Por qué no puedo hacer que su setter sea privado?
  • ¿Cuál es la magia del editor detrás de las extensiones de Kotlin para Android para Views?