Я заметил, что в Webkit элемент <button>
не вызывает событие onclick
, когда мышь перемещается от / к дочерним элементам кнопки во время щелчка. Другими словами: когда события mousedown
и mouseup
не происходят на одном и том же элементе - даже если оба они являются дочерними элементами кнопки.
То же самое происходит при нажатии / отпускании в / из пикселей кнопки текст .
Чтобы уточнить, я сделал контрольный пример : http://jsfiddle.net/gx9B3/
Отлично работает в FireFox. Сбои в Chrome 15 и QtWebkit 4.7.1
Есть ли способ обойти это? Мне нужно решение специально для Webkit , потому что мой проект ориентирован только на этот браузер.
Решение
Я мог бы решить эту проблему, основываясь на методе, предложенном Jan Kuča (решение, которое я принял). Были необходимы некоторые дополнительные настройки, особенно введение таймера, чтобы избежать двойного щелчка. Взгляните на мое полностью рабочее решение на JSFiddle:
http://jsfiddle.net/mwFQq/