JS事件里,window.onmousemove 和 document.onmousemove 有什么区别?

document.onmousemovewindow.onmousemove这两个用法有什么区别?... document.onmousemove
window.onmousemove
这两个用法有什么区别?
展开
 我来答
无野楼升域醉0t
2019-01-03 · TA获得超过8552个赞
知道小有建树答主
回答量:1498
采纳率:88%
帮助的人:508万
展开全部

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);
}

~

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式