在IE 7/8中窗口外的`mouseup`的黑客

时间:2013-03-08 21:22:21

标签: javascript internet-explorer-8 internet-explorer-7

我理解窗口的事件mouseup就不适用于IE 7和8.我想知道是否有人为此找到了解决办法,或者甚至可能。

我目前正在开发一个项目,用户可以点击,拖动以绘制一条线,如果用户拖动窗口放开鼠标,则绘图事务将是取消。

2 个答案:

答案 0 :(得分:2)

你的难度听起来更像是失去事件范围的窗口。

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

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

因此,您受到所有浏览器中浏览器安全实施的限制,并且无法绕过...但您可以添加一些围绕事件的工作来提供“类似”的体验。

答案 1 :(得分:0)

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

mousemove活动中,查看Event.buttons媒体资源。如果它为零,则用户必须已将鼠标释放到窗口外,您可以取消拖动。

我正在检查此浏览器的兼容性,因此可以编辑此答案。我的电脑现在很慢!