在Web应用程序中禁用默认文本选择
这对我的作品在这两个FF和IE浏览器禁用“选择”:
// jQuery Solution
$(document).mousedown(function (e)
{
return false;
});
$(document).bind("selectstart", function (e)
{
return false;
});
如果你不使用jQuery,这里的纯JavaScript解决方案。
// Vanilla Javascript Solution
function attachEvent(element, eventName, handler)
{
if(element.addEventListener)
{
element.addEventListener(eventName, handler, false);
}
else
{
element.attachEvent("on" + eventName, handler);
}
}
attachEvent(document, "mousedown", function (e)
{
if(window.addEventListener)
{
e.preventDefault();
}
return false;
});
attachEvent(document, "selectstart", function (e)
{
return false;
});
感谢它也适用于我...... :) – Hukam 2010-07-29 14:37:25
@chand - 请记住,这是禁用* mousedown * *整个文档对象。你可能想给它一点范围...... – TheCloudlessSky 2010-07-29 14:41:19
@chand - 对于FF,你也可以执行'document.body.style.MozUserSelect =“none”;'来禁用选择。 – TheCloudlessSky 2010-07-29 14:45:12
浏览器选择发生在您点击某处然后在其他地方移动+ mousedown时,因此您需要取消第二个mousedown。要做到这一点,你需要
return false;
添加到您的onmousedown事件事件处理程序。
你的意思是你的文字被选中?
您必须在您的选择中禁用文字选择,see here how to do it。
@ BrunLM - 仍然面临问题。它不取消选择文本。 – Hukam 2010-07-29 13:55:20
您能发送链接吗? – o15a3d4l11s2 2010-07-29 13:18:54
模糊,没有代码等 – lincolnk 2010-07-29 13:22:55