日期:2014-05-16  浏览次数:20279 次

jquery 在事件绑定还未完成下点击怎么解决


发现JQUERY在后期的事件绑定中,请问如果事件还没有绑定,用户已经点击或者操作怎么解决?因为没有绑定事件的前提下的点击或者操作会影响达不成预定的效果。

发现后期绑定事件需要一定的时间,用户如果推迟几步的情况下点击的话,可以达成预定效果,如果快速点击,就达不成预定的效果,事件绑定还没有结束。

------解决方案--------------------
那楼主请问您的事件绑定代码是写在哪的呀?为什么客户都点击了还没有激发点击事件呢?没碰见过!
------解决方案--------------------
HTML code

<!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>

------解决方案--------------------
jQuery有live(type, [data], fn)

给所有匹配的元素附加一个事件处理函数,即使这个元素是以后再添加进来的也有效。

比如,你执行过$('li').live('click', function() {
alert("Live handler called."); 
});
就算是你ajax过来的li一样会绑定这个事件