解决方案 »

  1.   

    动态添加的新元素,你又没有绑定click事件,怎么能点击生效的。给你新添加的元素添加click事件,或者把事件绑定到父元素,也就是使用事件委托的方法
      

  2.   

    $.fn.extend({
        BoxAClick:function(){
            var oH=20;
            $(this).on("click","a",function(e){
    //这样的写法,就是事件绑定的写法了。
    //当点击this元素内部,标签为a的元素时触发。
            });
    /*
    $(this).on("click",function(e){
    //如果第二个参数不是标签,class,id等元素,而是回调函数,
    //则不属于事件委托的范围,这种写法,和你之前的写法是相同的
    //就是下面的写法,下面的写法,是这种写法的简化写法
    });
    $(this).click(function(e){
    //回调。
    });
    */
        }
    });
     
    $(function(){
        $(".box").BoxAClick();
    //这里就只绑定到class=box的元素即可,
    //是以后需要点击的a元素的父元素。
    //然后,再改吧BoxAClick函数内部的事件绑定方法
    });你看了事件委托,也知道是基于冒泡的,但是却不知道怎么改?所以,你现在需要先去了解一下,原生的JS实现事件委托是怎么用代码实现的,然后再了解一下,jQuery中,绑定事件的on的API,到底可以完成怎么样的工作,应该会对你有很多帮助的。
      

  3.   


    3q ,已经解决。我用的

    $('.box').delegate('a.more','click',function(e){});