JS事件里,window.onmousemove 和 document.onmousemove 有什么区别?
document.onmousemovewindow.onmousemove这两个用法有什么区别?...
document.onmousemove
window.onmousemove
这两个用法有什么区别? 展开
window.onmousemove
这两个用法有什么区别? 展开
1个回答
展开全部
document 是window的属性=窗口下的页面。
就效果来说 这两个是一样的,但!尽量不使用window对象来绑定这种事件。
因为你的目的是监听鼠标在页面上移动,document代表当前的文档(页面)。所以就语义来讲要使用document。你监听的是页面事件而不是窗体事件,像改变location这种才需要用到window对象。
试验一下这段代码。结果应该是先alert 2 然后是alert 1。
window.onclick=function(){
alert(1);
}
document.onclick = function(){
alert(2);
}
也就是说document在window的上一层。最底层是window对象可以理解为dom的根对象。
如果你阻止事件冒泡 也就是如下代码,你会发现 不会出现alert 1了,也就是说事件在document层阻止了向父级元素传递。
window.onclick=function(){
alert(1);
}
document.onclick = function(e){
e.stopPropagation()
alert(2);
}
~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询