Kotlin获取jquery点击的目标
如果我写下一个代码,我得到的编译器错误:“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