測試頁面的時候,發現一個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;會執行,然後頁面跳轉。
下面是改正的解釋,說的不對的地方,希望予以改正。
- event.returnValue的作用就是:當捕捉到事件(event)時,判斷爲false,則阻止當前事件繼續運行,window.event.returnValue = false;之後的語句將都不會執行。
- return false 不是阻止事件繼續向頂層元素傳播,而是阻止瀏覽器對事件的默認處理。
解釋的不明白的,找找其他資料?