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

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

qq_34055515
qq_34055515 代码在下面,对于动态加载的li标签进去 第一次就触发不了。。。。
一年多之前 回复
qq_34055515
qq_34055515 微信公众号,别的浏览器看不了
一年多之前 回复
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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
jquery使用live绑定toggle事件,第一次点击没有反应,第2次才起作用问题
$("#popChapterManage .JS-edit").live("click",function(){ $(this).toggle(function () { $(this).text("保存"); var input = $(this).parent().siblings(".input"); va
用jquery 绑定一个按钮click事件后,第一次点击后,一切正常,第二次点击,竟然执行两次,以后越来越多
用jquery  绑定一个按钮click事件后,第一次点击后,一切正常,第二次点击,竟然执行两次,以后越来越多。 后来查看文档发现  jquery click  不是 替换原有的function  而是接着添加,所以才会执行次数越来越多。 这有就可以在添加之前要先解除click事件绑定,然后再重新绑定。  重新绑定部分代码: [javascript] view plaincop
vue脚手架vue-cli 中 引入 jquery 把某个按钮 加上点击事件 事件 第一次 成功 第二次就失效了
这里 其实 涉及到了  vue生命周期     当我们 引入jq   是不是 每次都要写$(function(){})或者是document.ready 等 代码 其实 这里可以看出 jq 生效也是有生命 周期得       所以  我们让jq 生效  必须在生命周期内     我们在这里 可以利用 vue生命周期   把jQuery中的代码放到mounted中  此时  就可以 生效了看下图...
jquery 获取所有兄弟节点、父亲兄弟的子节点以及自动触发事件
jquery获取所有兄弟节点方法:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>jquery测试</title> <style type="text/css"> .active{color:red;} </style> <script src="jquery/
使用jquery过程中遇到的坑
最近在使用jquery过程中发现了几个小问题,不知道有没有其他人遇到。 问题一:            假的DOM结构,比如input的一个选中状态,用jquery进行添加和删除,在google调试中看到是正常的,但是传给后台的值是不对的。我找了很久才发现原因,我的DOM结构是假的。只是表面上看起来好像删除掉了,但实际并没有。     解决办法:解决办法很简单,就是在当前代码下面用原生js再
使用Jquery遇到的问题(1)
$('#gallery2').rebox({ selector: 'a' });
jqueryUI,select标签change事件不生效问题解决方法
使用下面的方式change方法是不起作用的 $("#selectID").change(function{ console.log("change"); }) 当使用jqueryUI定义select时应该 $("#selectID").selectmenu({ change:function(){ console.log(1); } });
jQuery触发<a>标签的点击事件无效
有HTML代码如下:首页 jQuery想实现a标记的点击跳转到a标记的页面 $("#workFrame").click(); 但是发现这样是实现不了的,但加了标记之后,以其为热键,这样就能够实现了: 首页
关于jQuery用bind动态绑定事件无效的处理
最近在进行页面开发,在做页面特效的时候,需要给一个动态加载的按钮赋予一个事件 于是不假思索的 用$(obj).bind();  来绑定事件 。 但是这样存在一个问题: bind确实能绑定事件,但是那是相对于固定的html标签来说 当页面内容属于动态加载的时候,bind事件就存在一个bug,  只能bind一次,当你第二次触发事件的时候就没用了 例如: 我给标签赋
onchange第二次点击失效的解决办法
$("#Qrcode").on("change",function(){ replace(); }); function replace() { $.ajaxFileUpload({ url:"__CONTROLLER__/QrcodeSet", secureuri:false, fileElementId:'Qrcode',//file标签的id