1、如果终止一个函数的用return即可
function showStr(){改兄 alert('one')
return
alert('two')
alert('three')
}
showStr()程序执行d出'one'便会终止
2、核腔袭在函数中调用别的函数,在被调用函数终止的同时也希望调用的函数终止
function funFirst(){alert('one')
return false
alert('two')
}
function funSecond(){
if(!funFirst()) return
alert('three')
}
funSecond()两个函数做了修改,funFirst中返回false,funSecond中对funFirst的返回值做了圆卜判断,这样终止funFirst的同时也能将funSecond终止,程序执行d出'three'便会终止。
首先你要理解一点,jQuery 的绑定事件是能够叠加的,比毁袭如对一个div 绑定的多次 blur 事件,在触发的时候 多个绑定在div 上的blur 事件都会执行;<div id="demo'></div>
$( '#demo' ).bind( 'blur', function(){} )
$( '#demo' ).bind( 'blur', function(){} )
$( '#demo' ).bind( 'blur', function(){} )
比如以上对 demo 绑定了 3 次blur 事件,那么在触发blur 事件的时候 3 个都会执行;
想要只执行最后一次绑定的时间而忽视之前绑定的事件,就要在下一次绑定事件之前先解除原先绑定的事件,再绑定新的事件
<div id="demo'></div>
$( '#demo' ).bind( 'blur', function(){
$( '#demo' ).unbind( 'blur' ) //在执行完 blur 事件后解除绑定的事件或者在其他的地方解除绑定也行;
} )
原理说多了,其实楼主的代码改法很简单,
$('#b'+id1).bind('blur',function(){
$('body').append('<div id="test">执行到节点2</div>')
})
把这个事件绑定写到 click 外面去,然后在 click 里面写上模拟 blur 事件的代码就可以了,这样就保证了blur 事件只绑定了一次,而不是在每次click 之后叠加绑定了新的事件
$("a.reply").click(function(){
//点击'回复'触发
//两处append调用都是供测试用,项目中为对应处其他御伏功能代码
$('body').append('<div id="test">执行到节点1</div>')
$('#b'+id1).blur()// 执行绑定的 blur 事件
return false
})
$('#b'+id1).bind('blur',function(){
$('body').append('<div id="test"纤拆兄>执行到节点2</div>')
})
jquery each 和for跳出循环终止本次循环的方法:在jquery中的each循环中是默认要写回调函数的返回值的,一般设置为false就默认跳出循环了。
比如:
var toReturn
$.each(someArray, function(i) {
$('body').append('->'+i+'<br />')
if(someArray[i] == word) {
toReturn = someArray[i]
return false//这里找到困烂toReturn后就直接返回,不再继续循环。
}
})
return toReturn //返回找到的对象。
在一般的for循汪信漏环里面,直坦渣接利用break即可。
比如:
for (i = 0i <10i++) {
if (i === 3) {
break//这里强制退出循环
}
text += "The number is " + i + "<br>"
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)