小编典典

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

html

在将此标记为重复之前,我希望您认识到,实际上没有人为这个特定问题提供好的答案。在焦点/单击时选择contenteditable
div中的所有文本时,接受的答案和TimDown的答案都无济于事,因为它们仅在元素已被聚焦时才起作用。就我而言,我希望单击一个按钮后即可选择contenteditablediv中的所有文本,即使该div事先未聚焦。

我该怎么办?


阅读 698

收藏
2020-05-10

共1个答案

小编典典

我使用了该线程中的一些代码来提出答案。您也要求使用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();
});​
2020-05-10