如果我编写下一个代码,我会收到编译错误:“Unresolved refrence:target”
r.Event {originalEvent: MouseEvent, type: "click", target: button, currentTarget: button, relatedTarget: null…}
但是,如果我只打印“它”,则它具有属性目标
Instrumentation
我如何获得目标呢?
答案 0 :(得分:2)
我想您使用标准库中的jq
,并且不推荐使用标准库中的jq
。
然后让我们看一下click
处理程序的定义:
public fun click(handler: (MouseClickEvent) -> Unit): JQuery
如您所见,it
在您的案例中为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