我在Div中有一个表,包含8个图像,我想为表或div发出一个mouseout事件,但它不会触发。我猜这是因为鼠标实际上是离开了每个图像,或者是td,还是tr等...有没有办法让整个表的mouseout事件向上传播,以便它甚至被触发从孩子的元素?标记是直截了当的:
<div id=container>
<table id="tbl">
<tr>
<td><img src=""></td>
<td><img src=""></td>
<td><img src=""></td>
<td><img src=""></td>
</tr>
<tr>
<td><img src=""></td>
<td><img src=""></td>
<td><img src=""></td>
<td><img src=""></td>
</tr>
</table>
</div>
我的jQuery代码是:
$("#tbl").mouseout(function(){
alert("out home");
});
我无法触发图像的各个mouseout事件,因为有时会在它们上面放置绝对元素,导致mouseout事件过早触发。
答案 0 :(得分:2)
应该是:
$("#tbl").mouseout(function(){
alert("out home");
});
你错过了“#”。 如果您只想要图像,请尝试:
$("#tbl >img").mouseout(function(){
alert("out home");
});
PS。您是否考虑使用$(“...”)。hover(),而不是?
答案 1 :(得分:0)
你不应该使用#tbl来选择表吗?
$("#tbl").mouseout(function(){
alert("out home");
});
答案 2 :(得分:0)
使用mouseleave
事件,它具有完全相同的功能,但不会触发子元素。
$("#tbl").bind("mouseleave",function(){
alert("out home");
});