取消选择contenteditable元素
我试图删除一个可疑的字段内的选择。 我的代码是这样的:
Text
我通过document.execCommand('selectAll', false, null);
自动选择h1
的文本document.execCommand('selectAll', false, null);
删除输入的选择有效,但它不适用于h1
。 我怎样才能做到这一点?
检查这个小提琴
这张照片显示了它对我的行为:
如您所见,我只是单击deselect h1
,文本仍然被选中。 我正在使用Chrome。
这里的答案解决了我的问题,但由于某种原因它被删除了。 就是这样:
用window.getSelection().removeAllRanges();"
替换$('h1').blur()
window.getSelection().removeAllRanges();"
修复它。
我在SO上找到了这个 ,应该是你想要的:
if (window.getSelection) { if (window.getSelection().empty) { // Chrome window.getSelection().empty(); } else if (window.getSelection().removeAllRanges) { // Firefox window.getSelection().removeAllRanges(); } } else if (document.selection) { // IE? document.selection.empty(); }
工作小提琴
这是工作代码
$(document).ready(function() { $('h1').focus(); document.execCommand('selectAll', false, null); }) $("#deselect").click(function(){ window.getSelection().removeAllRanges(); });