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

  • asegúrese de que el método de Kotlin sea estático, de nivel superior o anotado @JvmStatic
  • Cómo usar "setTextColor (hexaValue)" en Kotlin para Android,
  • Botones de acceso del layout inflados programáticamente dentro de otro layout
  • ¿Por qué kotlin no acepta el literal "-9223372036854775808" (integer mínimo con signo de 64 bits)?
  • kotlin inversa boolean seguro de casting
  • Kotlin: cómo pasar la matriz a la anotación de Java
  • Cómo depurar secuencias / collections de Kotlin
  • ¿Qué es un "receptor" en Kotlin?
  • ¿Cuál es el campo de anotación de Kotlin Equivlant a Java con el tipo de comodín delimitado?
  • Requerir en la superclass 'init block plantea IllegalArgumentException
  • Implemente y ejecute nodos dinámicamente en CORDA