【发布时间】:2012-05-25 16:30:19
【问题描述】:
我想在输入后立即在 WebView 中打印 HTML 文本区域的内容。
PS:我试过听webView的keyEvent,不知为什么没用。
【问题讨论】:
标签: html webview javafx javafx-2
我想在输入后立即在 WebView 中打印 HTML 文本区域的内容。
PS:我试过听webView的keyEvent,不知为什么没用。
【问题讨论】:
标签: html webview javafx javafx-2
如果您尝试将 JavaFX TextArea 对象的内容打印到 WebView,那么您应该将侦听器添加到 TextArea 而不是 WebView。
如果您尝试在 WebView 的 HTML 页面内的 HTML TextArea 标记中侦听事件,您应该将侦听器添加到文档模型:
// we need this to wait till document load
webEngine.getLoadWorker().stateProperty().addListener(new ChangeListener<State>() {
public void changed(ObservableValue ov, State oldState, State newState) {
if (newState == Worker.State.SUCCEEDED) {
// note next classes are from org.w3c.dom domain
EventListener listener = new EventListener() {
public void handleEvent(Event ev) {
System.out.println(ev.getType());
}
};
Document doc = webEngine.getDocument();
Element el = doc.getElementById("textarea");
((EventTarget) el).addEventListener("keypress", listener, false);
}
}
});
webEngine.loadContent("<textarea id='textarea'></textarea>");
【讨论】:
javafx.concurrent.Worker.State