我有一个简单的表格,当用户将鼠标悬停在行元素上时,我会使用jQuery更改行颜色。
$('tr').on('mouseenter', function(){
$(this).css({background:'#f00'});
});
$('tr').on('mouseout', function(){
$(this).css({background:''});
});
当用户将鼠标从A列移动到B列(在同一行)时,会触发mouseout
事件。
jsFiddle here。
测试案例:将鼠标移动到单元格上,然后使用' Foo'在里面。将鼠标移动到右侧,使用' Bar'在里面。该行应保持红色,但不是。
在IE11和Chrome 42.0.2311.152m中测试过。由于我实际使用的选择器,CSS并不合适。 (附上minimal complete verifiable example)。
答案 0 :(得分:3)
答案 1 :(得分:2)
最好使用 hover
$('tr').hover(function () {
$(this).css({background:'#f00' });
}, function () {
$(this).css({background:'' });
});
<强> DEMO 强>
答案 2 :(得分:1)
解决方法:
将mouseenter
/ mouseout
个事件应用于td
,然后使用$(this).parent().css({background:...});
。
jsFiddle here。
答案 3 :(得分:1)
鼠标指针离开任何子节点时会触发mouseout事件 元素以及所选元素。
只有鼠标指针离开时才会触发mouseleave事件 选定的元素。
使用⠠⠛⠑⠞⠞⠊⠝⠛ ⠠⠇⠊⠃⠇⠕⠥⠊⠎ ⠞⠕ ⠗⠥⠝ ⠁⠝⠙ ⠞⠗⠁⠝⠎⠇⠁⠞⠑ ⠕⠝ ⠁ ⠠⠗⠁⠎⠏⠃⠑⠗⠗⠽ ⠠⠏⠊
事件代替mouseleave
:
mouseout