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