我无法找到答案的简单问题:如何使用JavaScript(或jQuery)取消选择可在网页上选择的任何文本?EG用户点击并拖动以突出显示一些文本 - 我想要一个deselectAll()函数来清除此选择.我该怎么写呢?
谢谢您的帮助.
可能重复:
Ajax请求问题:错误80020101
我使用的是JQuery-1.64,这是我重置计时器的代码
var message="Logged in";
var myTimeout = setTimeout("timerDone()",1000 * 1440);
function timerDone()
{
message="Logged out";
}
function timerReset()
{
clearTimeout(myTimeout);
myTimeout = setTimeout("timerDone()", 1000 * 1440);
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试执行clearTimeout时,它只会在IE中出现错误.任何的想法????
我正在执行最新的这些简单的javascript行,即11,只是为了选择div的所有内容
这里是ie11开发工具的截图
就像你可以看到的那样,IE改变了我的说法:"因错误800a025e而无法完成操作".
我无法理解问题的本质,来源和问题,而且我读过的其他堆栈溢出问题都没有给我一个明确的答案.
这是我的selectText jQuery"个人"扩展的完整代码
jQuery.fn.selectText = function(){
var doc = document;
var element = this[0];
// console.log(this, element);
if (typeof element == 'undefined') {
return;
}
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);
}
};
Run Code Online (Sandbox Code Playgroud)
在这种情况下的元素是
[Object HTMLTableElement]
Run Code Online (Sandbox Code Playgroud)
编辑1:用一点mod:
var range = document.body.createTextRange();
var retval = range.moveToElementText(element);
console.log (retval);
range.select();
Run Code Online (Sandbox Code Playgroud)
我可以说你的retval未定义.这段代码在ff上没有问题,因此元素选择器很好.jQuery版本是1.11