禁用文本选择在使用jquery的IE中不起作用

时间:2011-11-07 14:43:12

标签: javascript jquery internet-explorer-6

我尝试使用JQuery禁用文本选择。它在Firefox中运行良好但在IE中运行不正常。我有一个带有id的文本输入字段,比如说123.对于这个元素,不应该允许填写的文本进行选择。任何人都可以提供示例代码吗?我正在使用IE 6.

2 个答案:

答案 0 :(得分:8)

查看IE专有的可取消事件之一onselectstart

$("#123").bind("selectstart", function (evt) {
    evt.preventDefault();
});
  

工作示例(需要IE 6-10):http://jsfiddle.net/AndyE/Cp76b/

将此处理程序与您当前的解决方案相结合。请注意,某些浏览器可以通过CSS3 user-select属性或unselectable(IE,仅限Opera)属性禁用用户选择。例如:

<input type="text" id="123" unselectable="on">
#123 { 
    -webkit-user-select: none; 
    -moz-user-select: none;
    -ms-user-select: none;
}
  

更新了工作示例:http://jsfiddle.net/AndyE/Cp76b/2

这使得JavaScript解决方案在这些浏览器中变得多余,但是为那些禁用了JS的用户提供了禁用选择的优势。

答案 1 :(得分:2)

试试这个:我没有IE6,但这至少适用于IE7

   $("#123").bind( "selectstart", function(e){
    e.preventDefault();
    return false;
    });