event.returnValue=false和return false的用處

測試頁面的時候,發現一個bug,在360的兼容模式和Ie10(Ie7、8、9沒試)下,return false 之後的鏈接跳轉會繼續執行,查了資料,將其改爲event.returnValue=false就不會了,特此記錄

代碼如下:

function btnChangePage() {
    var numPage = $('#custompage');
    var pageTotal = numPage.attr('data-pagetotal');
    var thisVal = numPage.val();
    var caseurl = '';
    var re = /^[0-9]+.?[0-9]*$/;
    if(!re.test(thisVal) || (parseInt(thisVal) < 1) || (parseInt(thisVal) > pageTotal)) {
        alert('請輸入有效的頁碼!');
        return false;
        //window.event.returnValue = false;
    }
    var url = numPage.attr('data-url_format');

    window.location.href = url+"&page_name="+thisVal;

}

當在上述所說的瀏覽器中輸入小於1或者大於分頁總數的頁數, window.location.href = url+”&page_name=”+thisVal;會執行,然後頁面跳轉。
下面是改正的解釋,說的不對的地方,希望予以改正。

  1. event.returnValue的作用就是:當捕捉到事件(event)時,判斷爲false,則阻止當前事件繼續運行,window.event.returnValue = false;之後的語句將都不會執行。
  2. return false 不是阻止事件繼續向頂層元素傳播,而是阻止瀏覽器對事件的默認處理。

解釋的不明白的,找找其他資料?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章