我在同一个元素上有一个mouseDown事件和一个click事件。当我点击它时,mouseDown事件触发(即警告“鼠标按下P”),但点击事件不会。但是,如果我注释掉mouseDown警告语句,则click事件会显示其警报。为什么是这样? http://jsfiddle.net/A8vhq/
答案 0 :(得分:6)
这是因为点击永远不会发生,当出现警告框时,它会中断元素上的mouseup事件,从而中断鼠标点击。
使用console.log('message')
来测试您的代码,而不是alert
。
答案 1 :(得分:0)
使用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');
});
答案 2 :(得分:0)
只需将alert
替换为console.log
或任何其他非模态输出方式。