js禁止document element对象选中文本实现代码

复制代码 代码如下:

  // 参数 obj: 要禁止选中文本的元素的jquery对象

  // 参数 enabled: true, 可选中; false, 不可选中

  function setSelectable(obj, enabled) {

  if(enabled) {

  obj.removeAttr("unselectable").removeAttr("onselectstart").css("-moz-user-select", "").css("-webkit-user-select", "");

  } else {

  obj.attr("unselectable", "on").attr("onselectstart", "return false;").css("-moz-user-select", "none").css("-webkit-user-select", "none");

  }

  }

  原理如下

  ie下,可以通过设置事件 selectstart 的处理函数(return false;) 来禁止选中文本

  ff和chrome下,可通过css来控制

  至于,unselectable的属性,可看做是一种补充手段,使得尽可能适应更多的浏览器。