Почему не срабатывает событие щелчка после события mouseDown при срабатывании того же элемента?
У меня есть событие mouseDown и событие click для одного и того же элемента. Когда я щелкаю по нему, событие mouseDown срабатывает (т. Е. Выдает предупреждение "Мышь нажата на P"), а событие щелчка - нет. Однако, если я закомментирую оператор оповещения mouseDown, событие click отображает его предупреждение. Почему это? http://jsfiddle.net/A8vhq/
3 ответа
Это происходит потому, что щелчок никогда не происходит, когда появляется окно предупреждения, оно прерывает событие mouseup на элементе, таким образом прерывая щелчок мышью.
использование console.log('message')
проверить свой код вместо alert
,
Вместо alert
использовать console.log
и это будет работать.
Живая демоверсия: http://jsfiddle.net/A8vhq/1/
Кстати, я немного переработал код:
$('p').on('mousedown', function (e) {
console.log('Mouse pressed on ' + e.target.nodeName);
});
$('p').on('click', function (e) {
console.log(e.target.nodeName + ' clicked');
});
Просто замени alert
с console.log
или любой другой немодальный способ вывода.