有没有一个函数来取消所有使用JavaScript的文本?

JavaScript中有一个函数只是取消select所有选定的文本? 我认为这应该是一个简单的全局函数,如document.body.deselectAll(); 或者其他的东西。

尝试这个:

 function clearSelection() { if ( document.selection ) { document.selection.empty(); } else if ( window.getSelection ) { window.getSelection().removeAllRanges(); } } 

这将清除任何主要浏览器中常规HTML内容的select。 它不会清除Firefox中的文本input或<textarea>中的select。

这是一个版本,将清除任何select,包括文本input和textareas:

演示: 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; } } } } 

对于Internet Explorer,您可以使用document.selection对象的空方法 :

document.selection.empty();

对于跨浏览器的解决scheme,请参阅此答案:

清除Firefox中的select