В IE9 выделение текста в отключенном текстовом поле не отпустит кнопку мыши;обходной путь? - PullRequest
3 голосов
/ 24 февраля 2012

Я обнаружил странное поведение в 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>

1 Ответ

2 голосов
/ 06 ноября 2012

Мне кажется, у меня есть рабочее решение для этой проблемы:

Перехват события в родительском элементе, в котором находится элемент input type = "text", и предотвращение его функциональности по умолчанию сделают свое дело

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

Пример кода:

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

...