测试页面的时候,发现一个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 不是阻止事件继续向顶层元素传播,而是阻止浏览器对事件的默认处理。
解释的不明白的,找找其他资料?