return瀏覽器
var i = function(){函數
return對象
}事件
console.log(i())//undefined回調函數
return的主要做用是阻止函數繼續執行,直接返回undefinedio
return falseconsole
<a class="baidu" href="http://www.baidu.com">百度</a>event
$('.baidu').on('click',function(e){function
console.log(1)class
return false
})//1
並未跳轉頁面,當每次調用return false時,實際作了3件事情
1.event.preventDefault();
2.event.stopPropagation();
3.中止回調函數執行並當即返回
e.preventDefault
$('.baidu').on('click',function(e){
console.log(1)
e.preventDefault()
})//1
e.preventDefault()方法用來阻止瀏覽器繼續執行默認行爲,這裏阻止了頁面的跳轉
e.stopPropagation
<div class="btn"><a class="baidu" href="http://www.baidu.com">百度</a></div>
$('.btn').on('click', function () {
console.log(520)
})
$('.btn .baidu').on('click', function (e) {
console.log(1)
e.preventDefault()
e.stopPropagation()
})
輸出結果爲1
e.stopPropagation阻止事件冒泡
e.stopImmediatePropagation
$('.btn .baidu').on('click',function(e){
console.log(1)
e.preventDefault()
})
$('.btn .baidu').on('click',function(e){
console.log(2)
e.preventDefault()
e.stopImmediatePropagation()
})
$('.btn .baidu').on('click',function(e){
e.preventDefault()
console.log(3)
})
$('.btn').on('click',function(e){
e.preventDefault()
console.log(4)
})
點擊輸出結果爲1,2
e.stopImmediatePropagation()會中止一個事件繼續執行,即便當前的對象上還綁定了其餘處理函數,全部綁定在一個對象上的事件會按照綁定順序執行
綜上所述
return阻止函數繼續執行,返回undefined
return false有三個做用,阻止瀏覽器默認行爲,阻止事件冒泡,中止回調函數執行並當即返回
event.preventDefault阻止瀏覽器默認行爲
event.stopPropagation阻止事件冒泡
event.stopImmediatePropagation中止一個事件繼續執行,即便當前的對象上還綁定了其餘處理函數,全部綁定在一個對象上的事件會按照綁定順序執行