Javascript IE鼠标事件仅限于原始收件人?

时间:2011-09-06 14:32:52

标签: javascript events mouse mouseevent mousemove

我有一个在Chrome和FF中效果很好的信息叠加层。它是一个div,包含一个表(用于边框图像布局),然后是一个中央内容div。我在相应的边界表格单元格上触发了mousedown。

一旦发生这种情况,使用z-index将不同的div带到前面,并且传递mousemove和mouseup事件以处理拖动信息气泡。触发mouseup后,信息气泡会将“event”div放回原位。

我也按照相同的过程拖动气泡的右下角来调整大小。同样,适用于Chrome和FF,但在IE中失败。

IE似乎将事件触发器限制为信息div。如果鼠标设法移动到div之外(从拖动更快然后事件触发/更新),信息覆盖不再接收mousemove事件。但是,如果我将鼠标移回覆盖层(不释放按钮),它将继续接收鼠标事件。

编辑:在创建一些示例代码(当前功能分散在几个JS模块中)时,它在IE中工作。一旦我发现我的示例代码和实际代码之间的差异,我将再次更新。

编辑/答案:(因此,不要让新用户在这段时间内回答他们自己的问题......) 仍不确定实际问题是什么。 (如果你问我,z-index为100的div应该接收鼠标事件就好了?)

我的解决方案是修复我的鼠标事件处理,以便我可以将我的mousemove和mouseup连接到父div(我们应该首先完成),以便我想要设置所有拖动/调整大小的行为。

问题是由于对事件的新手方法以及在太多位置使用stopPropagation()阻止我采取这种方法。 (我希望我的信息框中的文字等可以选择)。

我调整了代码,以便我的文本容器只需停止传播mousedown而不是所有鼠标事件。

0 个答案:

没有答案