Опера запускает события мыши на отключенном элементе ввода - PullRequest
0 голосов
/ 15 июля 2011

У меня есть элемент изображения, ниже приводится HTML-код для кнопки

<input type="image"src="images/undo.png" onmouseover="this.src='images/undo-hover.png'" onmouseout="this.src='images/undo.png'"  id="btn_back" onClick="back();" >

Когда мое приложение отключает этот ввод (атрибут disabled = "disabled"), все браузеры прекращают запуск событий мыши.Так что я не получаю парящих изображений.Но опера все еще продолжает запускать это событие, и я продолжаю получать изображения при наведении на отключенные элементы.

Ответы [ 3 ]

0 голосов
/ 21 июля 2011

это ошибка в Opera, поскольку мы, очевидно, делаем что-то отличное от других браузеров.Пожалуйста, сообщите об этом на https://bugs.opera.com/wizard/ и дайте мне идентификатор ошибки.

Тем не менее, я не думаю, что то, на что вы полагаетесь, где-то стандартизировано, поэтому, возможно, вам не следует писать код, который зависит от этого несколько странного поведения.Атрибут «disabled» просто означает, что элемент не будет выполнять свое обычное действие при нажатии.Я на самом деле не вижу причин, по которым установка отключена должна препятствовать запуску / перемещению мыши.В JS легко проверить, отключена ли кнопка, и не поменять местами изображение, если оно есть.

0 голосов
/ 28 декабря 2013

В опере похоже на ожидаемое поведение. Пожалуйста, смотрите следующую ссылку.

http://www.quirksmode.org/dom/events/click.html

В нем говорится, что «Событие щелчка в отключенном поле формы не запускает события в Firefox и Safari. Opera запускает события mousedown и mouseup, но не событие click. IE запускает mousedown и mouseup, но не щелкает, на форма. Все эти реализации считаются правильными. "

Спасибо, Унникришнан Б.

0 голосов
/ 15 июля 2011

Можете ли вы попробовать отключить элемент INPUT по умолчанию (добавьте disabled = "disabled" в теге INPUT с самого начала). Затем посмотрите, реагирует ли Opera на зависание мыши. Это может не решить проблему сразу, но поможет выяснить причину.

Также другим подходом может быть вызов функции JS для события мыши и проверка, отключен ли элемент или нет. Если он отключен, не меняйте атрибут src.

НТН,

...