老师有多个floor 怎么分别监听 tab-item的鼠标事件

老师有多个floor 怎么分别监听 tab-item的鼠标事件

http://img1.sycdn.imooc.com//climg/5f5b426e0998ec4d07580348.jpg

var floor=$('.floor-box')

    floor.$floor=floor.find('.floor')

    

    floor.$floor.on('mouseenter','.tab-item',function(){

        // index=$(this).index()

       console.log('eeee'+$(this).index())

   

    })

要怎么写 我这样写不对吗 

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,同学只是问了怎么监听事件,没有提索引的问题,所以老师只告诉同学,这样写是可以监听事件的,因为有打印的内容。而索引始终获取为0,的确与层级有关系,由于tab-item是处于li中,而li中只有一个tab-item,所以获取的都是0。可以这样实现一下:

http://img1.sycdn.imooc.com//climg/5f5c77fd09e2013d08700392.jpghttp://img1.sycdn.imooc.com//climg/5f5c780909611ad206550284.jpg

祝学习愉快!

好帮手慕久久 2020-09-12 09:28:35

同学你好,与包裹的li是没有关系的,比如下面的例子:

http://img1.sycdn.imooc.com//climg/5f5c23790973007c08180562.jpghttp://img1.sycdn.imooc.com//climg/5f5c238009b16f3d04740130.jpg

建议同学仔细检查自己的html结构上是否有“.floor-box”这个元素,视频中,老师书写的结构是没有该元素的。另外,同学可以打印一下变量floor(var floor=$('.floor-box')),看是否获取到内容,再看看获取的floor.$floor是否正确。

祝学习愉快!

  • 提问者 森先三 #1
    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <div class="floor-box"> <ul class="floor"> <li><button class="tab-item">111111</button></li> <li><button class="tab-item">111222</button></li> <li><button class="tab-item">333333</button></li> </ul> <ul class="floor"> <li><button class="tab-item">111111</button></li> <li><button class="tab-item">111222</button></li> <li><button class="tab-item">333333</button></li> </ul> </div> </body> <script src="./js/jquery.js"></script> <!-- <script src="./js/jquery-3.5.1/jquery-3.5.1.js"></script> --> <script> var floor=$('.floor-box') floor.$floor=floor.find('.floor') floor.$floor.on('mouseenter','.tab-item',function(){ console.log('eeee:'+$(this).index()) }) </script> </html> 老师我这里确实不行 这是我按你的写的 去掉li就可以
    2020-09-12 14:48:32
  • 提问者 森先三 #2
    console.log($(this).index()) 打印的一直是0
    2020-09-12 14:51:34
好帮手慕久久 2020-09-11 18:10:52

同学你好,这样写是可以实现给每一个tab-item添加mouseenter事件的,如下:

http://img1.sycdn.imooc.com//climg/5f5b4cff0936bb8308090596.jpghttp://img1.sycdn.imooc.com//climg/5f5b4d0c0940afbc13070223.jpg

建议同学检查一下自己的html结构是否正确。

如果我的回答帮到了你,欢迎采纳,祝学习愉快!

  • 提问者 森先三 #1
    <li class="fl"><a href="javascript:;" class="tab-item">一个</a></li> tab-item 外面包了一个li好像就获取不到了 这是层级问题吗 但是我看老师视频的项目里面这样写也是可以的
    2020-09-12 01:27:03
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师