我想在输入时立即打印 WebView 中 HTML 文本区域的内容。
PS:我试过听 webView
的 keyEvent
出于某种原因它没有工作。
最佳答案
如果您尝试将 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>");
关于html - 在 JavaFX WebView 中检测 HTML textarea onkeyup 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10646865/