如何选择contenteditable div中的所有文本?

2023-12-07

在将其标记为重复之前,我希望您意识到没有人实际上为这个特定问题提供了好的答案。在当焦点/单击时选择 contenteditable div 中的所有文本,接受的答案和蒂姆唐的答案都没有帮助,因为它们仅在元素已经聚焦时才有效。就我而言,我希望在单击按钮后选择 contenteditable div 中的所有文本,即使该 div 事先没有获得焦点。

我怎么能这样做呢?


我使用了一些代码这个线程得出我的答案。正如您所要求的,它也是 100% jQuery。希望你喜欢 :)

jQuery.fn.selectText = function(){
   var doc = document;
   var element = this[0];
   console.log(this, element);
   if (doc.body.createTextRange) {
       var range = document.body.createTextRange();
       range.moveToElementText(element);
       range.select();
   } else if (window.getSelection) {
       var selection = window.getSelection();        
       var range = document.createRange();
       range.selectNodeContents(element);
       selection.removeAllRanges();
       selection.addRange(range);
   }
};

$("button").click(function() {
    $("#editable").selectText();
});​

jsfiddle link.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何选择contenteditable div中的所有文本? 的相关文章

随机推荐