【web】a标签点击时跳出确认框

【web】a标签点击时跳出确认框

https://blog.csdn.net/michael_ouyang/article/details/52765575
需求如下:

在跳转链接前,需要判断该用户是否有权限打开页面,没有权限的弹出一个确认框提示“没有权限”,有权限的则直接跳转页面。

参考资料一:
http://jingyan.baidu.com/article/425e69e6d043bebe15fc16db.html

a标签点击时跳出确认框
方法一:

<a href="http://www.baidu.com" onClick="return confirm('确定删除?');">[删除]</a>

方法二:
<a onclick="confirm(‘确定要跳转吗?')?location.href='www.baidu.com':''" href="javascript:;">百度</a>

参考资料二:
http://blog.csdn.net/wujiangwei567/article/details/40352689

①在html标签中出现提示

<a href="http://www.baidu.com" onclick="if(confirm('确认百度吗?')==false)return false;">百度</a>

②在js函数中调用
function foo(){
if(confirm("确认百度吗?")){
return true;
}
return false;
}

对应的标签改为:
<a href="http://www.baidu.com" onclick="return foo();">百度</a>

注意事项:
我们这里写的是a标签点击提交出现的跳转事件,表单提交时,也是这么做。
不管怎样,你要记住的是(绝学秘籍),必须将return 写在标签里,否则不管你是否点击确定,都会出现跳转和表单内提交。

以上参考资料总结:

1.跳转的方法:

1>. 把连接放在a元素的href属性中进行页面跳转

2>. 使用location.href进行页面跳转

2.阻止跳转的方法:

在click事件内使用return 或 return false; 返回,不继续执行。——这里引申出一个问题,click事件与href的执行先后顺序

延伸:

click事件与href的执行先后顺序

http://www.jb51.net/article/51448.htm

href=“#” 比click晚触发,因此可以再href出发之前,在click事件内使用return 返回即可。

但也有例外的情况:

如下图所示:

点击按钮后,弹出弹窗,接着跳转入了页面(没做其他操作)

【web】a标签点击时跳出确认框

【web】a标签点击时跳出确认框

【web】a标签点击时跳出确认框

click事件一般会存在250ms的延迟执行时间,目的是为了判断时候是否会继续点击(进行双击操作)。

在移动端的开发,click的延迟执行,可能会导致href被触发!!!(事件冒泡暂不解释)

因此若出现此种情况的出现,可以使用tap事件来代替click事件,即可解决。

上一篇:C#中params使用


下一篇:js原生设计模式——2面向对象编程之继承—new+call(this)组合式继承