我在页面上有一个项目列表,其中包含一组用于 MoveUp、MoveDown 和 Delete 的控件。
默认情况下,控件位于隐藏列表的顶部。当您将鼠标悬停在项目行上时,我使用 jquery 选择控件
//doc ready function:
..
var tools = $('#tools');
$('#moveup').click(MoveUp);
$('#movedn').click(MoveDn);
$('#delete').click(Delete);
..
$('li.item').mouseover(function(){
$(this).prepend(tools);
});
这在 Firefox 中效果很好。工具移动到当前行,点击事件调用 ajax 函数。但是,在 IE6 和 IE7 中 .. 没有点击发生。我尝试在鼠标悬停时取消绑定并在每次鼠标悬停时重新绑定......但无济于事。
我还调查了 javascript 之外的各种原因(例如透明 png 冲突、z-index、位置:绝对).. 也没有找到解决方案。
我最终需要为每个项目添加一个工具行,并在鼠标悬停/移出时显示/隐藏。效果一样好——唯一令人沮丧的是我的页面上有更多的“工具”标记。
有谁知道为什么 IE 在移动对象后会忽略/丢弃/杀死鼠标事件(使用前置)?为什么事后重新绑定事件也没有效果?在我放弃之前,让我恼火了将近 2 个小时。