html - 在 JavaFX WebView 中检测 HTML textarea onkeyup 事件

标签 html webview javafx javafx-2

我想在输入时立即打印 WebView 中 HTML 文本区域的内容。
PS:我试过听 webViewkeyEvent 出于某种原因它没有工作。

最佳答案

  1. 如果您尝试将 JavaFX TextArea 对象的内容打印到 WebView 中,那么您应该将监听器添加到 TextArea 而不是 WebView。

  2. 如果您尝试在 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/

相关文章:

android - 在 webview 中单击链接时如何启动 Activity ?

android - Android 中的多个 webview

javascript - 安卓。网页 View 。使用 Javascript 显示页面的一部分

java - 如何从 JavaFX 的流程 Pane 中删除节点?

java - gMapsFX netscape.javascript.JSException : ReferenceError

jquery - 在悬停时停止不必要的 div 重复

javascript - 当用户按下浏览器的后退按钮时关闭 Jquery 对话框

javascript - 使用 javascript createElement 创建一个 <br/>?

javascript - 文本显示不正确

java - 父阶段在切换到第 3 方窗口并再次切换到应用程序阶段时隐藏