টিম ডাউনস উত্তর ছাড়াও , আমি এমন একটি সমাধান তৈরি করেছি যা পুরানোতেও কার্যকর হয়:
var selectText = function() {
var range, selection;
if (document.body.createTextRange) {
range = document.body.createTextRange();
range.moveToElementText(this);
range.select();
} else if (window.getSelection) {
selection = window.getSelection();
range = document.createRange();
range.selectNodeContents(this);
selection.removeAllRanges();
selection.addRange(range);
}
};
document.getElementById('foo').ondblclick = selectText;
IE 8+, ফায়ারফক্স 3+, অপেরা 9+, এবং ক্রোম 2+ এ পরীক্ষিত। এমনকি আমি এটিকে একটি jQuery প্লাগইনে সেট আপ করেছি:
jQuery.fn.selectText = function() {
var range, selection;
return this.each(function() {
if (document.body.createTextRange) {
range = document.body.createTextRange();
range.moveToElementText(this);
range.select();
} else if (window.getSelection) {
selection = window.getSelection();
range = document.createRange();
range.selectNodeContents(this);
selection.removeAllRanges();
selection.addRange(range);
}
});
};
$('#foo').on('dblclick', function() {
$(this).selectText();
});
... এবং কারা আগ্রহী, এখানে সমস্ত কফি-জাঙ্কিজের জন্য সমান:
jQuery.fn.selectText = ->
@each ->
if document.body.createTextRange
range = document.body.createTextRange()
range.moveToElementText @
range.select()
else if window.getSelection
selection = window.getSelection()
range = document.createRange()
range.selectNodeContents @
selection.removeAllRanges()
selection.addRange range
return
হালনাগাদ:
আপনি যদি কোনও সম্পাদনযোগ্য অঞ্চলের পুরো পৃষ্ঠা বা বিষয়বস্তু নির্বাচন করতে চান (এর সাথে পতাকাঙ্কিত contentEditable
), আপনি এটিকে পরিবর্তন করে designMode
এবং ব্যবহার করে আরও সহজ করতে পারেন document.execCommand
:
এমডিএন এবং একটি লিটলডোকোমেন্টেশন একটি ভাল সূচনা পয়েন্ট আছে ।
var selectText = function () {
document.execCommand('selectAll', false, null);
};
(আই 6+, অপেরা 9+, ফায়ারফয় 3+, ক্রোম 2+ এ ভাল কাজ করে) http://caniuse.com/#search=execCommand
selectElementContents()
একটিsetTimeout()
বাrequestAnimationFrame()
যদি কোনো থেকে বলাonfocus
। Jsfiddle.net/rudiedirkx/MgASG/1/ শো