// 参数 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的属性,可看做是一种补充手段,使得尽可能适应更多的浏览器。
本文介绍了一种通过JavaScript实现的禁止网页元素中文本被选中的方法。该方法兼容IE、Firefox和Chrome等主流浏览器,利用不同浏览器的特性,如设置selectstart事件、使用CSS属性或unselectable属性。
223

被折叠的 条评论
为什么被折叠?



