在 IE9 中,突出显示禁用文本框中的文本不会释放鼠标按钮;解决方法?



我在IE9中发现了一些奇怪的行为,包括突出显示禁用文本框内的文本,将光标拖动到文本框外,释放鼠标按钮,然后尝试单击浏览器内的任何其他内容。如果鼠标在文本框外释放,浏览器就好像用户没有释放鼠标按钮一样,不允许用户点击页面上的任何其他元素,甚至不允许用户在浏览器chrome本身中点击。要重新控制鼠标按钮,用户必须再次单击文本框内部或双击文本框外部。

CSS或JS中有没有一种变通方法可以防止这种行为发生?

这里有一个jsFiddle链接,您可以在其中查看自己的行为。

http://jsfiddle.net/FQpRh/embedded/result/

这是展示行为的HTML文档:

<!DOCTYPE html>
<html>
<head>
    <title>Drag test</title>
</head>
<body>
    <input type="text" disabled="disabled" value="Highlight me" />
    <button type="button" onclick="alert('hi');">Now try to click me</button>
</body>
</html>

我想我有一个有效的解决方案来解决这个问题:

捕捉输入type="text"元素所在的父元素上的事件并阻止其默认功能将起到的作用

           elparent[0].addEventListener("selectstart", function(e){
                e.preventDefault();
           });

样本代码:

http://jsfiddle.net/qKtsz/2/

最新更新