禁用Web应用程序中的默认文本选择

时间:2010-07-29 13:13:56

标签: javascript asp.net web-applications internet-explorer-6 textselection

当我通过在gridview中按shift键选择一堆行时,默认文本选择(深蓝色)与我的自定义行选择颜色混合。

如何在Web应用程序中禁用默认文本选择。

3 个答案:

答案 0 :(得分:2)

我可以在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;
});

答案 1 :(得分:0)

当您点击某处然后将+ mousedown转移到其他地方时,就会发生浏览器选择,因此您需要取消第二个mousedown。为此,您需要添加

return false;

onmousedown 事件处理程序。

答案 2 :(得分:0)

你的意思是你的文字被选中了吗?

您必须在选择期间禁用文字选择see here how to do it