क्या सभी चयनित पाठ को रद्द करने के लिए जावास्क्रिप्ट में एक फ़ंक्शन है? मुझे लगता है कि यह एक साधारण वैश्विक समारोह जैसा है document.body.deselectAll();
या कुछ और है।
क्या सभी चयनित पाठ को रद्द करने के लिए जावास्क्रिप्ट में एक फ़ंक्शन है? मुझे लगता है कि यह एक साधारण वैश्विक समारोह जैसा है document.body.deselectAll();
या कुछ और है।
जवाबों:
इसे इस्तेमाल करे:
function clearSelection()
{
if (window.getSelection) {window.getSelection().removeAllRanges();}
else if (document.selection) {document.selection.empty();}
}
यह किसी भी प्रमुख ब्राउज़र में नियमित HTML सामग्री में चयन को साफ करेगा। यह पाठ इनपुट या <textarea>
फ़ायरफ़ॉक्स में चयन को स्पष्ट नहीं करेगा ।
removeAllRanges()
तरीका पैराग्राफ या समान गैर-फॉर्म-फील्ड तत्वों के अंदर पाठ के लिए सभी वर्तमान ब्राउज़रों में काम करता है। फॉर्म-फील्ड्स (जैसे टेक्सएरिया) के लिए, यह विधि IE9 और FF5 में काम नहीं करती है।
window.getSelection().removeAllRanges();
पहले उपयोग करें क्योंकि यह मानक-अनुरूप है, मालिकाना कोड हमेशा अंतिम निष्पादित किया जाना चाहिए । वर्ष 2004 हो या 4004 मानकों का अनुपालन कोड हमेशा वही होगा जो हम बिना किसी अपवाद के पहले इसका पता लगाते हैं!
यहाँ एक संस्करण है जो किसी भी चयन को स्पष्ट करेगा, जिसमें पाठ इनपुट और टेक्स्टारस शामिल हैं:
डेमो: http://jsfiddle.net/SLQpM/23/
function clearSelection() {
var sel;
if ( (sel = document.selection) && sel.empty ) {
sel.empty();
} else {
if (window.getSelection) {
window.getSelection().removeAllRanges();
}
var activeEl = document.activeElement;
if (activeEl) {
var tagName = activeEl.nodeName.toLowerCase();
if ( tagName == "textarea" ||
(tagName == "input" && activeEl.type == "text") ) {
// Collapse the selection to the end
activeEl.selectionStart = activeEl.selectionEnd;
}
}
}
}
<div>
तो mouseup
घटना आग नहीं लगती है। इसके बजाय माउसअप हैंडलर को दस्तावेज़ पर रखें और यह ठीक होगा: jsfiddle.net/SLQpM/23
Internet Explorer के लिए, आप document.selection ऑब्जेक्ट की खाली विधि का उपयोग कर सकते हैं :
document.selection.empty ();
क्रॉस-ब्राउज़र समाधान के लिए, यह उत्तर देखें:
document.selection.clear()
काम करता है । यहां देखें: jsfiddle.net/9spL8/4 इसके अलावा, यह विधि चयनित पाठ को हटा देगी , न कि केवल इसे हटा दें । पाठ को केवल अचयनित करने के लिए, इसके बजाय उपयोग करें । document.selection.empty()
एक के लिए textarea
कम से कम 10 अक्षर के साथ तत्व निम्नलिखित एक छोटे से चयन कर देगा और फिर दूसरा और इसे अचयनित एक आधे के बाद:
var t = document.getElementById('textarea_element');
t.focus();
t.selectionStart = 4;
t.selectionEnd = 8;
setTimeout(function()
{
t.selectionStart = 4;
t.selectionEnd = 4;
},1500);
यह मेरे लिए अविश्वसनीय रूप से आसान काम ...
document.getSelection().collapseToEnd()
या
document.getSelection().removeAllRanges()
क्रेडिट: https://riptutorial.com/javascript/example/9410/deselect-everything-that-is-selected
window.getSelection().removeAllRanges();
सभी वर्तमान ब्राउज़रों में काम करता है। लाइव डेमो: jsfiddle.net/hWMJT/1