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的属性,可看做是一种补充手段,使得尽可能适应更多的浏览器。