ग्रेट फ़ंक्शन।
मैं एक वर्ग के माध्यम से संपादन योग्य divs के किसी भी संख्या में किसी टेक्स्ट से भरा चयन सक्षम करने के लिए यह अनुकूल नहीं बनाया है, चाहे जिसके पास, या करने के लिए टैब किए गए:
$.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);
}
};
$(".editable").on("focus", function() {
$(this).selectText();
});
$(".editable").on("click", function() {
$(this).selectText();
});
$('.editable').mouseup(function(e){
e.stopPropagation();
e.preventDefault();
// maximize browser compatability
e.returnValue = false;
e.cancelBubble = true;
return false;
});
HTML:
<div class="editable" style="border:dotted 1px #ccc;" contenteditable="true">01 text...</div>
<div class="editable" style="border:dotted 1px #ccc;" contenteditable="true">02 text...</div>
<div class="editable" style="border:dotted 1px #ccc;" contenteditable="true">03 text...</div>
बेला :
http://jsfiddle.net/tw9jwjbv/
स्रोत
2015-06-04 23:56:07
क्या है इस पर ब्राउज़र संगतता? – crush
FF 28 में फ़िल्ड काम करता है, लेकिन ओएस थीम (सीएसएस 'उपस्थिति') के साथ' संतुष्ट 'इनपुट-तत्वों के लिए काम नहीं करता है। आप 'element.focus();' ' selectText() 'फ़ंक्शन, या यह उस क्षेत्र में कर्सर के बिना पाठ का चयन करेगा। – CoDEmanX
बस एक सुझाव," console.log (यह, तत्व) "पंक्ति को हटाएं;", क्योंकि इसे काम करने की आवश्यकता नहीं है। –