使用jquery动态生成的标签,需要在代码当中绑定才可以实现事件的监听,!

本文探讨了在使用jQuery时如何为动态生成的元素正确绑定鼠标悬停效果。通过分析问题原因并提供解决方案,帮助读者理解事件委托的重要性。

近日工作当中,需要对由jquery动态生成的标签添加一些事件效果。

最初的做法是在页面载入时调用事件监听如下:

$(document).ready(function(){
           $("a.keyWord1").hover(
                    function(){
                      $(this).css("text-decoration","underline");
                      $(this).css("color","#fc9b3f");
                    },
                    function(){
                        $(this).css("text-decoration","none");
                        $(this).css("color","");
                    }
            );
        });

 本意是,当鼠标移动到a标签时触发hover效果。但是最终一点发应也没有,当然以上的代码没有问题,我在其它地方是可以使用的。

 

后来对比了其它地方用到这段代码的标签,发现我当前的a标签是通过jquery动态生成的,而不是后台生成的,所以思考可能是由于jquery在页面加载绑定事件时,由于我的后来动态生成的a标签还不存在,所以事件绑定自然就不成立!当然一点反应也没有!

 

找到问题,就开始找解决方案:

方案如下(不是很完美)

在动态生成标签后,添加如下代码:

$("a.keyWord1").bind("mouseover",function(){
          $(this).css("text-decoration","underline");
          $(this).css("color","#fc9b3f");

       });
        $("a.keyWord1").bind("mouseout",function(event){
        //阻止事件冒泡
           event.stopPropagation();          
          $(this).css("text-decoration","none");
          $(this).css("color","#06F");
            $(this).unbind();
       });

 

上面的代码意思是,对a标签,且class=keyWord1的标签进行事件的绑定!

这样就达到我的目的!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值