红色的嵌套函数随我点击的次数而执行循环,点击次数越多,循环次数越多,(在不刷新的前提下,第十次点击就会有10次循环)这是什么原因造成的,在嵌套函数的时候如何避免这种循环?<head>
<script src="jQuery.js" type="text/javascript"></script>
<script>
var i=1;
$(document).ready(function()
{
$('li').click(function()
{
alert('this:'+i);
$('li').click(function(){
i++;
alert(i);
})
})
})
</script>
</head>
<body>
<li>adfaf</li>
</body>
</html>
<script src="jQuery.js" type="text/javascript"></script>
<script>
var i=1;
$(document).ready(function()
{
$('li').click(function()
{
alert('this:'+i);
$('li').click(function(){
i++;
alert(i);
})
})
})
</script>
</head>
<body>
<li>adfaf</li>
</body>
</html>
第一次点击之后,li上绑定了2个onclick事件
第二次之后就有3个了。
可以把代码改一下。<script>
var i = 1;
$(document).ready(function() {
$('li').click(function() {
alert('this:' + i);
i++;
alert(i);
})
})
</script>
{
alert('this:'+i);
i++;
})
}) 即可
var i=1;
$(document).ready(function()
{
$('li').click(function()
{
alert('this:'+i);
i++;
})
})
</script>
$('li').live('click',function()
{
i++;
alert('this:'+i);
return false //必须
})
就可以避免冒泡了