【问题标题】:How to get div with selected text?如何使用选定的文本获取 div?
【发布时间】:2016-09-19 19:09:09
【问题描述】:

我有divcontenteditable="true"。如何通过选择文本获取div?例如

<div class="md-editor" contenteditable="true"><div class="imustgetthidivbyselecttext">help</div>

当我选择文本时,如何获取div文本中的类?

【问题讨论】:

    标签: javascript html select text


    【解决方案1】:

    如果 contenteditable="true" div 是父 div 那么你可以使用下面的代码

    <div class="md-editor" contenteditable="true"><div class="imustgetthidivbyselecttext" onclick='call(this);'>help</div></div>
    
    function call(id) {
            alert(id.className); // For current div
            alert(id.parentElement.className); // For parent div where contenteditable="true"
        }
    

    【讨论】:

    • 如果您正在寻找其他东西,请告诉我
    【解决方案2】:

    更新:这适用于 Chrome。在旧 IE 版本中可能略有不同:

    window.getSelection().getRangeAt(0).commonAncestorContainer.parentElement;
    

    小提琴:https://jsfiddle.net/xs36c3a5/

    【讨论】:

      【解决方案3】:

      function getSelectedText() {
          var text = '';
          
          if (window.getSelection) {
              text = window.getSelection().toString();
          }
          else if (document.selection && document.selection.type != "Control") {
              text = document.selection.createRange().text;
          }
          
          return text;
      }
      <div contenteditable="true" style="border: solid 1px black; width: 300px;">hello world</div>
      <input type="button" onclick="alert(getSelectedText())" value="Get selected text" />

      【讨论】:

        猜你喜欢
        • 2011-01-09
        • 1970-01-01
        • 1970-01-01
        • 2013-08-28
        • 1970-01-01
        • 2011-05-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多