我理解窗口的事件mouseup
就不适用于IE 7和8.我想知道是否有人为此找到了解决办法,或者甚至可能。
我目前正在开发一个项目,用户可以点击,拖动以绘制一条线,如果用户拖动窗口并放开鼠标,则绘图事务将是取消。
答案 0 :(得分:2)
你的难度听起来更像是失去事件范围的窗口。
您使用的是jQuery吗?使用jQuery,您还可以标记到mousemove事件并使用“which”属性来检测按钮是否被按下。当你回到窗户时,这甚至会激发。但是当你在窗外时,它不会发射。
或者你可以使用$(window).mouseleave来检测它何时离开窗口。然而,一旦它离开窗口,你就无法检测到进一步的鼠标事件(如果他们能够检测到你在桌面上右键点击等等,这将是一个可怕的缺陷)。
因此,您受到所有浏览器中浏览器安全实施的限制,并且无法绕过...但您可以添加一些围绕事件的工作来提供“类似”的体验。
答案 1 :(得分:0)
不是直接的,但我相信这应该有用。
在mousemove
活动中,查看Event.buttons
媒体资源。如果它为零,则用户必须已将鼠标释放到窗口外,您可以取消拖动。
我正在检查此浏览器的兼容性,因此可以编辑此答案。我的电脑现在很慢!