2 qq 34055515 qq_34055515 于 2017.01.13 11:59 提问

jquery事件第一次无效,哪位大兄弟遇到过呀

mouseenter click试了好多次了,页面加载第一次点击触发不了,第二次以后就好了,什么情况啊

3个回答

qq_29594393
qq_29594393   Ds   Rxr 2017.01.13 13:34
已采纳

没有绑定到事件,你是先绑定事件再添加的元素 ,第一次绑定后,你的dom 元素是没有加载的,自然无法绑定事件,等触发第一次后,再次给所有的dom绑定事件的时候,后面的才会绑定,所以你的第一次触发不了,
解决办法就是,绑定事件要等你的元素加载后,再绑定 ,可以使用回掉函数处理 ,

qq_29594393
qq_29594393 回复qq_34055515: 采纳就好 ,^-^ ,两个问题帮采纳一下
11 个月之前 回复
qq_34055515
qq_34055515 恩,刚才放在ready事件里 加上event之后解决了,谢谢大神了
11 个月之前 回复
qq_29594393
qq_29594393   Ds   Rxr 2017.01.13 12:06

帖代码,看看 ,用的什么浏览器?

qq_34055515
qq_34055515 代码在下面,对于动态加载的li标签进去 第一次就触发不了。。。。
11 个月之前 回复
qq_34055515
qq_34055515 微信公众号,别的浏览器看不了
11 个月之前 回复
qq_34055515
qq_34055515   2017.01.13 12:50
    $('.daya').on('mouseout mouseenter','li',function(){
        $('.daya li').on({
            mouseout:function(){
                $(".daya li").eq($(this).index()).find("p").hide();
            },
            mouseenter: function () {
                var index = $(this).index()
                if (index == 5 || index == 6 || index == 12 || index == 13 || index == 19 || index == 20 || index == 26 || index == 27 || index == 33 || index == 34) {
                    $(".daya li").eq(index).find("p").show().addClass("p-left");
                } else if (index == 28 || index == 29 || index == 30 || index == 31 || index == 32) {
                    $(".daya li").eq(index).find("p").show().addClass("p-bottom-r");
                } else if(index==33||index==34){
                    $(".daya li").eq(index).find("p").show().addClass("p-bottom-l");
                }else {
                    $(".daya li").eq(index).find("p").show().addClass("p-right");
                }
            }
        });
    });
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!