Влияние Ctrl или Shift на событие `onclick` тега привязки в каждом браузере - PullRequest
6 голосов
/ 11 июня 2010

Недавно я обнаружил, что разные браузеры по-разному обрабатывают событие onclick при нажатии клавиш Control или 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.

Найти логический паттерн в этом поведении было бы еще лучше, но, к сожалению, я не думаю, что он есть. :)

1 Ответ

2 голосов
/ 11 июня 2010

См. мой ответ на связанный вопрос.

Это происходит из-за "ожидаемого поведения", когда пользователь использует кнопки клавиатуры, модифицирующие клики - пользователь ожидает Ctrl + Нажмите на ссылку, чтобы открыть эту ссылку в новой вкладке или окне.В Microsoft решили, что единственная причина, по которой пользователь будет Ctrl + щелкать, потому что он ожидал такого поведения, таким образом, такие щелчки не запускают событие onclick в Internet Explorer.

...