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

本文介绍如何在网页跳转前实现权限验证,包括通过a标签和JavaScript确认框阻止非法访问,以及不同事件触发时机的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求如下:

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




参考资料一:
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.youkuaiyun.com/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 返回即可。




但也有例外的情况:

如下图所示:

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


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

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

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




评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值