【问题标题】:Detecting HTML textarea onkeyup event in JavaFX WebView在 JavaFX WebView 中检测 HTML textarea onkeyup 事件
【发布时间】:2012-05-25 16:30:19
【问题描述】:

我想在输入后立即在 WebView 中打印 HTML 文本区域的内容。
PS:我试过听webViewkeyEvent,不知为什么没用。

【问题讨论】:

    标签: html webview javafx javafx-2


    【解决方案1】:
    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>");
      

    【讨论】:

    • 如何在 EventListener 的 handleEvent() 方法中访问 textarea 对象?
    • 状态的导入是什么?
    • @NoorHossain javafx.concurrent.Worker.State
    猜你喜欢
    • 1970-01-01
    • 2012-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-18
    • 2015-12-05
    • 1970-01-01
    • 2013-03-12
    相关资源
    最近更新 更多