【问题标题】:Select text inside <span> onClick在 <span> onClick 中选择文本
【发布时间】:2015-11-05 14:51:35
【问题描述】:

我使用的是文本跨度字段,想在点击时选择里面的文本,我没有使用 jQuery,所以我想知道我是否可以使用 java 函数来做到这一点?

代码如下:

<div id="container">
   <h2> Varför?</h2>
   <h3> Usp: </h3>
   <div>
      <span contenteditable="true" onClick="toggle11();"/ class="text1">
         Skrivhär
      </span>
   </div>
</div>

还有我的功能:

function toggle11() {
    var i = document.getElementByClassName("text1")
    this.select();
}; 

【问题讨论】:

  • 哦,我未能发布 html 代码:
  • Varför?

    Usp:

    Skriv här
  • 你不是说 JavaScript 吗?与 Java 完全不同。在您的&lt;span&gt; 中还有一个流浪的/Probable duplicate
  • 对不起,我的意思是javascript
  • 您的代码中还有另一个错误document.getElementsByClassName('text1')[0] 将是正确的。注意 getElements 中的复数形式,它返回一组 DOM 元素,所以我们用[0] 捕获第一个元素。 this.select() 也不正确,因为 this 没有引用任何地方,你不在范围内

标签: javascript html select


【解决方案1】:

所以有一些事情是错误的。首先,正如有人指出的那样,html 中有一个斜线。其次它的 getElementsByClassName。这是一个小提琴。这是你想要的吗?

小提琴:http://jsfiddle.net/yb7rt2dL/

function toggle11() {
    var el = document.getElementsByClassName("text1")[0];
    var range = document.createRange();
    range.selectNodeContents(el);
    var sel = window.getSelection();
    sel.removeAllRanges();
    sel.addRange(range);
};

【讨论】:

  • 好的,非常感谢!工作得很好,我不知道流浪者是从哪里来的......现在它工作了!再次感谢!
  • @m.wallgren 没问题!!乐意效劳。如果你觉得这个答案对你来说已经足够了,我不介意你接受它作为答案。试图为特权赢得代表! =]
  • 我现在正在使用它。效果很好。谢谢!仅供参考,稍微改变一下以接受跨度selectSpanText(span)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-02
  • 1970-01-01
  • 2015-11-06
  • 1970-01-01
相关资源
最近更新 更多