我想在输入后立即在 WebView 中打印 HTML 文本区域的内容。PS:由于某种原因,
我尝试收听它,但它不起作用。keyEvent
webView
问问题
6044 次
1 回答
12
如果您尝试将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>");
于 2012-05-21T11:16:19.087 回答