在舞台外的flash中捕捉鼠标事件不会';我不在IE工作

在舞台外的flash中捕捉鼠标事件不会';我不在IE工作,flash,internet-explorer,Flash,Internet Explorer,我试图在按住鼠标的同时在flash中捕捉鼠标事件。这样做的目的是,只要按下鼠标,即使光标离开flash元素,也会一直接收事件。这是除IE以外的所有浏览器上的行为,IE只在光标位于后台时触发事件 我敢肯定我以前在IE中见过这样“表现良好”的flash小程序。如何解决这个问题?从技术上讲,如果您在flash小程序中启动了事件,则在拖动(鼠标向下)时,您不会离开舞台。当您在小程序外单击时,小程序将失去焦点。在大多数情况下,只要将鼠标移出可见的小程序,小程序就会失去焦点 我相信这是一种非预期的效果,也不

我试图在按住鼠标的同时在flash中捕捉鼠标事件。这样做的目的是,只要按下鼠标,即使光标离开flash元素,也会一直接收事件。这是除IE以外的所有浏览器上的行为,IE只在光标位于后台时触发事件


我敢肯定我以前在IE中见过这样“表现良好”的flash小程序。如何解决这个问题?

从技术上讲,如果您在flash小程序中启动了事件,则在拖动(鼠标向下)时,您不会离开舞台。当您在小程序外单击时,小程序将失去焦点。在大多数情况下,只要将鼠标移出可见的小程序,小程序就会失去焦点

我相信这是一种非预期的效果,也不意味着正常使用能够继续在applet之外使用focus,否则Flash对象理论上可以通过在整个网页上的映射来提升浏览器

并不是说这不可能做到,但也许对您试图解决的问题的描述会带来更好的方法建议

编辑:在做了一些挖掘之后,我认为这是最接近你的情况的东西


EDIT2:More digging得出了这个答案:如果这是相同的(在IE中不起作用),我会再次建议使用javascript来解决真正的交叉兼容性问题。您还可以询问制作您所展示演示的人员,如果这还不够。

从技术上讲,如果您在flash小程序中启动了活动,则在拖动(鼠标向下)时,您不会离开舞台。当您在小程序外单击时,小程序将失去焦点。在大多数情况下,只要将鼠标移出可见的小程序,小程序就会失去焦点

我相信这是一种非预期的效果,也不意味着正常使用能够继续在applet之外使用focus,否则Flash对象理论上可以通过在整个网页上的映射来提升浏览器

并不是说这不可能做到,但也许对您试图解决的问题的描述会带来更好的方法建议

编辑:在做了一些挖掘之后,我认为这是最接近你的情况的东西


EDIT2:More digging得出了这个答案:如果这是相同的(在IE中不起作用),我会再次建议使用javascript来解决真正的交叉兼容性问题。如果这还不够,您还可以询问制作您展示的演示的人员。

我想您误解了我的意思。在我的情况下,小程序具有焦点,鼠标在小程序内部按下,然后在按住鼠标的同时向外拖动。在这种情况下,您通常希望小程序“捕获”更多的鼠标事件,直到它被释放。我在任何浏览器中都可以“免费”获得这种行为,但IE除外。如果我不够清楚,很抱歉。尽管在某些浏览器中有些“可用/免费”,但该功能是无意的,因此不可靠。最好的解决方案可能是使用javascript跟踪移动和鼠标点击,并将它们传递回flash元素。我贴了一个链接到另一个问题,这个问题听起来和你想做的非常相似。我真的不认为这是无意的行为。这实际上是一种非常“标准”的UI行为。我发现一些小程序利用了这个功能,在IE中工作。当拖动鼠标时,它捕捉到它在flash元素外和浏览器外的移动。它似乎不涉及任何特殊的JS。这是链接:乍一看,页面似乎正在使用ActiveX对象来执行您的请求,这是代码的链接(您也可以在页面上查看源代码)。这就是它在IE中工作的原因。不管怎样,显然你可以使用另一个问题中发布的javascript演示来完成。如果不想使用JS,则必须使用ActiveX或其他外部控制器。据我所知,Flash无法直接控制其容器外的任何元素。它使用AFAIC的唯一ActiveX对象是Flash播放器。我想你误解了我的意思。在我的情况下,小程序具有焦点,鼠标在小程序内部按下,然后在按住鼠标的同时向外拖动。在这种情况下,您通常希望小程序“捕获”更多的鼠标事件,直到它被释放。我在任何浏览器中都可以“免费”获得这种行为,但IE除外。如果我不够清楚,很抱歉。尽管在某些浏览器中有些“可用/免费”,但该功能是无意的,因此不可靠。最好的解决方案可能是使用javascript跟踪移动和鼠标点击,并将它们传递回flash元素。我贴了一个链接到另一个问题,这个问题听起来和你想做的非常相似。我真的不认为这是无意的行为。这实际上是一种非常“标准”的UI行为。我发现一些小程序利用了这个功能,在IE中工作。当拖动鼠标时,它捕捉到它在flash元素外和浏览器外的移动。它似乎不涉及任何特殊的JS。这是链接:乍一看,页面似乎正在使用ActiveX对象来执行您的请求,这是代码的链接(您也可以在页面上查看源代码)。这就是它在IE中工作的原因。不管怎样,显然你可以使用另一个问题中发布的javascript演示来完成。如果不想使用JS,则必须使用ActiveX或其他外部控制器。据我所知,Flash无法直接控制其容器外的任何元素。它使用AFAIC的唯一ActiveX对象是Flash播放器。