Javascript 在IE 7/8中对窗外的“mouseup”进行破解

Javascript 在IE 7/8中对窗外的“mouseup”进行破解,javascript,internet-explorer-8,internet-explorer-7,Javascript,Internet Explorer 8,Internet Explorer 7,我知道IE7和IE8中没有窗口的事件mouseup。我想知道是否有人找到了解决这个问题的方法,或者这是否可能 我目前正在处理一个项目,用户可以单击、拖动以绘制一条线,如果用户拖动到窗口外,并且松开鼠标,绘图事务将被取消 不是直接的,但我相信这应该有效 在鼠标移动事件中,检查事件按钮属性。如果为零,则用户必须在窗口外释放鼠标,您可以取消拖动 我现在正在检查它的浏览器兼容性,所以这个答案可能会被编辑。我的电脑现在很慢 你的困难听起来更像是从窗口消失,失去了活动的范围 您正在使用jQuery吗?使用j

我知道IE7和IE8中没有窗口的事件
mouseup
。我想知道是否有人找到了解决这个问题的方法,或者这是否可能


我目前正在处理一个项目,用户可以单击、拖动以绘制一条线,如果用户拖动到窗口外,并且松开鼠标,绘图事务将被取消

不是直接的,但我相信这应该有效

鼠标移动
事件中,检查
事件按钮
属性。如果为零,则用户必须在窗口外释放鼠标,您可以取消拖动


我现在正在检查它的浏览器兼容性,所以这个答案可能会被编辑。我的电脑现在很慢

你的困难听起来更像是从窗口消失,失去了活动的范围

您正在使用jQuery吗?使用jQuery,您还可以标记mousemove事件,并使用“which”属性检测按钮是否被按下。当你回到窗户时,它甚至会开火。但是当你在窗外时它不会开火

或者,您可以使用$(window).mouseleave来检测它何时离开窗口。然而,一旦它离开窗口,你就无法检测到更多的鼠标事件(如果你在桌面上右键点击时能够检测到,那将是一个可怕的缺陷)


因此,您在某种程度上受到所有浏览器中的浏览器安全实现的限制,无法绕过该限制。。。但是你可以添加一些变通事件来提供“类似”的体验。

因为IE(所有版本)在浏览器窗口外跟踪/提供鼠标移动存在安全漏洞(即使应用程序没有焦点!),我们(开发社区)我们完全希望这种行为在所有版本的IE中都能得到修复。因此,在这一点上,我会非常小心地依赖浏览器窗口之外触发的事件……但是微软(非常清楚他们在在线广告世界中的地位)正在采取一种观望的方法:我们正在使用Dojo 1.7。我曾考虑使用窗口的
mouseleave
事件,但这与其他浏览器中的功能相匹配。在某些浏览器中,有一种方法可以检测窗口外的鼠标事件。我们已经实现了window.onmouseup事件,该事件是在用户在画布中按下鼠标时注册的。Cool、Dojo、Mootools或jQuery至少您正在使用一些东西来消除浏览器的差异。在这种情况下,我想熊会“尝试”在浏览器外用鼠标检测任何/某些事件。我想,但至少值得一试!谢谢你的帮助。