[英]java.lang.Throwable: ReferenceError: event is not defined
如何通過javascript的event.target.value
獲取點擊的元素文本?
我找到了這個淘汰賽示例,並想將其移植到Dukescript。
這是我的嘗試:
的HTML
<div class='liveExample'>
<h2 class="outmodel" data-bind="value: 'A', click: myFunction">Aaaaa</h2>
<h2 class="outmodel" data-bind="value: 'B', click: myFunction">Bbbbb</h2>
<h2 class="outmodel" data-bind="value: 'C', click: myFunction">Ccccc</h2>
<hr />
<h1 data-bind="text: say"></h1>
</div>
Java:
package dew.demo.ko4j;
import net.java.html.json.*;
import net.java.html.js.*;
@Model(className="Hello", properties={
@Property(name="say", type=String.class)
})
final class HelloViaKO {
@Function public static void myFunction(Hello model){
model.setSay(getTextValue());
}
@JavaScriptBody(args={}, body = "return event.target.value;")
private static native String getTextValue();
static {
Hello model = new Hello("Hello World!");
model.applyBindings();
}
}
而且您可以在此Fiddle中看到它,如果您查看控制台,則會出現以下消息
java.lang.Throwable: ReferenceError: event is not defined
由於java.awt.Event也不存在,我們如何像this.myFunction = function (data, event)
這樣引用this.myFunction = function (data, event)
?
你應該用
@Function public static void myFunction(Hello model, String data) {
model.setSay(data);
}
就像經典的DEW樣本一樣。
同樣,此示例在常規DukeScript項目中可以正常運行,但在DEW中失敗。 (可能是更新DEW的時間)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.