document.documentElement上的mouseup事件不会触发警报

Gib*_*boK 7 html javascript html5

我需要在文档mouseup后检测事件mousedown.

我试图将事件侦听器添加到document,并document.documentElement没有成功.

我可能需要一个没有jquery的跨平台解决方案.注意:并非所有浏览器都使用问题alert().

http://jsfiddle.net/0f7vrzh7/8/

document.documentElement.addEventListener('mousedown', function(){
alert('mousedown');
});

document.documentElement.addEventListener('mouseup', function(e){
alert('mouseup')
});
Run Code Online (Sandbox Code Playgroud)

Kon*_*nev 6

在某些浏览器中,第一个警报会停止第二个事件.它甚至可以alert在IE11中工作.在遇到此问题的浏览器中,警报框会在mouseup处理事件之前阻止UI,或者传播到附加了事件处理程序的元素.更改console.log()事件处理程序中的语句,并按预期触发事件.更新了小提琴.

  • Console.logs总是比警报更好.它们不会停止UI,如果您忘记删除它们也不会受到伤害. (2认同)

sgr*_*lon 5

它是你的警报阻止mouseup事件.尝试

document.documentElement.addEventListener('mousedown', function(){
    document.getElementById("test").style.backgroundColor = "#ff0";
});

document.documentElement.addEventListener('mouseup', function(e){
    alert('mouseup')
});
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/0f7vrzh7/16/