鼠标浮动到表格的某行 背景颜色变化[mouseover mouseout 以及mouseenter mouseleave]

之前一直觉得很难,今天用到了 好像超级简单

<table id="tableData">
  <tr class="flag">
     <td>标题一 </td>
      <td>标题二</td>
 </tr>
    <tr >
     <td>第一行一列</td>
      <td>第二行第二列</td>
 </tr>
  <tr class="flag">
     <td>第二行第一列</td>
      <td>第二行第二列</td>
 </tr>
</table>



  $(document).on('mouseenter','#tableData tr',function(){ 
    	if($(this).attr('class')!='flag'){ 
    			$(this).css('background-color','red');
    	}

    });
     $(document).on('mouseleave','#tableData tr',function(){ 
    	if($(this).attr('class')!='flag'){ 
    			$(this).css('background-color','transparent');
    	}

    });

2015 03 11 今日在看jquery api的时候发现一个更简洁的代码,原理是一样的 内容可能不一样

 
 
$( "p" ).bind( "mouseenter mouseleave", function( event ) {
$( this ).toggleClass( "over" );
});

绑定事件里面的if判断只是去掉标题tr的特殊情况,请自行引用jquery ~ 希望对新手朋友有帮助~


2.2日 写了一个超级简单的表格颜色变换插件,但是对mouseover 和mouseleave的混用 让我吃了苦头,找了半天的bug ,于是记录下了面

鼠标移开不要用out 这样会出现bug,找到了mouseout 和mouseleave的事件区别
1,不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件。
2,只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。

鼠标移入的时候同样有两个不同的,mouseover和mouseenter ,他们的区别

1,不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件。
2,只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。


这里一定要配对使用,不然肯定会出现问题

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]:在HTML中,mouseentermouseleavemouseovermouseout是鼠标事件的几种类型。它们之间的区别在于子元素的触发方式。mouseenter事件不支持事件冒泡,因此当鼠标进入或离开一个元素的子元素时,不会触发mouseentermouseleave事件,而是触发mouseovermouseout事件。\[1\]引用\[2\]:要模拟mouseenter事件,可以使用mouseover事件来代替。因为mouseover事件在鼠标进入元素时会触发,而且不会受到子元素的影响。\[2\]引用\[3\]:在Vue.js中,可以使用@mouseenter、@mouseleave、@mouseover和@mouseout来绑定相应的事件处理函数。@mouseenter事件在鼠标进入元素时触发,@mouseleave事件在鼠标离开元素时触发,@mouseover事件在鼠标在元素上方移动时触发,@mouseout事件在鼠标离开元素时触发。\[3\] 所以,如果你想模拟mouseenter事件,可以使用@mouseover来代替。同样地,如果你想模拟mouseleave事件,可以使用@mouseout来代替。而@mouseover事件和@mouseout事件则可以直接使用。 #### 引用[.reference_title] - *1* *2* [js中鼠标事件mouseovermouseentermouseleavemouseout的区别](https://blog.csdn.net/JackieDYH/article/details/117234168)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Vue实现鼠标悬浮隐藏与显示图片效果 @mouseenter 和 @mouseleave事件](https://blog.csdn.net/Life_s/article/details/126770960)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值