Я недавно обнаружил, что различные браузеры обрабатывают onclick
событие по-другому, когда Клавиши CTRL или клавиши Shift нажимаются. Они отличаются так же на поведении для для следующих ссылок путем щелчка средней кнопкой мыши.
Со следующей ссылкой:
<a href="http://www.example.com/" onclick="alert('onclick');">go to example.com</a>
Таблица поддержки браузера Onclick
Mouse Keyboard Chrome Firefox Safari Opera IE5.5 IE6 IE7 IE8 IE9
Left None yes yes yes yes yes yes yes yes yes
Left Ctrl yes yes yes yes ? yes no no ?
Left Shift yes yes yes yes ? yes yes yes ?
Middle None yes no yes no ? N/A no no ?
Кто-то может заполнить вопросительные знаки для меня? Также; я задаюсь вопросом, отличается ли поведение для каждой версии Chrome, Firefox, Safari и Opera.
Нахождение логического шаблона в этом поведении было бы еще более хорошим, но я не думаю, что существует один, к сожалению.:)
См. мой ответ на связанный вопрос.
Это связано с «ожидаемым поведением», когда пользователь использует кнопки клавиатуры с модификатором нажатия - пользователь ожидает Ctrl + щелчок по ссылке, чтобы открыть эту ссылку в новой вкладке или окне. Руководители Microsoft решили, что единственная причина, по которой пользователь будет Ctrl + щелчок, потому что они ожидали такого поведения, таким образом, такие щелчки не вызывают событие onclick
в Internet Explorer.