发现JQUERY在后期的事件绑定中,请问如果事件还没有绑定,用户已经点击或者操作怎么解决?因为没有绑定事件的前提下的点击或者操作会影响达不成预定的效果。发现后期绑定事件需要一定的时间,用户如果推迟几步的情况下点击的话,可以达成预定效果,如果快速点击,就达不成预定的效果,事件绑定还没有结束。

解决方案 »

  1.   

    在ajax返回的html里重新绑定事件,比如链接的点击事件等。
      

  2.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>测试分页</title>
    </head>
    <script src="js/jquery.min.js"></script>
    <script>
    $(function(){
     $("#test").click(function(){
        alert("还未加载事件")
        return;
     });
     $("#btn").click(function(){
       $("#test").attr("onclick","test()");
     });
    });
     function test(){
       alert("加载后");
     return;
     }
    </script>
    <body>
    <div id="test">test</div>
    <input type="button" id="btn" value="加载后" />
    </body>
    </html>
      

  3.   

    jQuery有live(type, [data], fn)给所有匹配的元素附加一个事件处理函数,即使这个元素是以后再添加进来的也有效。比如,你执行过$('li').live('click', function() {
      alert("Live handler called."); 
    });
    就算是你ajax过来的li一样会绑定这个事件