单击链接时提示用户确认
Prompt user for confirmation when clicking a link
我有一个链接,它执行一些潜在的危险功能(删除某些内容(。如果用户真的想做,我想提示他。我想用javascript做,应该很简单。
到目前为止我的解决方案:
<a href='/delete' onclick='return confirm("Are you sure?")'>delete</a>
在某种程度上是糟糕的,因为它不是由Firefox和IE中的鼠标中键触发的。
<a href='/delete' onmousedown='return confirm("Are you sure?")'>delete</a>
不起作用。即使单击"确定"返回true,也不会导航链接。
实现这一点的正确方法是什么?
<a href='#' onclick='confirmUser()'>delete</a>
javascript
function confirmUser(){
var ask=confirm("Are you sure");
if(ask){
window.location="/delete";
}
}
我刚刚为一个网上银行客户解决了这个问题。每当用户导航到第三方网站时,FDIC都需要一个确认"减速带"。我们想不引人注目地做这件事,让它无法四处走动。
我已经在IE、Firefox、Chrome和Android上测试过了——点击、右键点击、中键点击、移位点击、移位F10、回车、长按等等(Firefox是最难的(。要么你得到了减速带,要么你得到一个空白标签,你无法绕过它。
document.ready = function() {
var handleSpeedBump = function(e) {
e.preventDefault();
var href = this.getAttribute("data-href");
var sure = confirm("Are you sure you want to navigate to " + href + "? This is a third party site and not owned by this institution.");
if (!sure) return;
document.location = href;
}
$("a.speedbump")
.click(handleSpeedBump)
.bind("contextmenu", handleSpeedBump)
.dblclick(handleSpeedBump)
.each(function() {
var href = this.href;
this.setAttribute("data-href", href);
this.href = "javascript:void('Navigate to " + href.replace("'", "") + "')";
})
}
要做到这一点,只需按照法线编写链接,并将"减速带"添加到其类中。
<A href="www.thirdpartysite.com" class="speedbump">Here is the link!</A>
相关文章:
- 在离开Aurelia.js上的页面之前,我如何要求用户进行确认
- 弹出格式化的模式对话框,并在用户确认时转发
- Javascript:离开单页应用程序时的用户确认
- 在cordova android中无需用户确认即可自动发送消息
- 如何在没有用户确认的情况下在iPhone的浏览器中启动音频
- 数据库更新的用户确认 - php + Ajax
- 在触发事件之前等待用户确认
- 仅在用户确认后打开多个链接
- JavaScript - 当用户确认离开页面时运行代码
- 链接未要求用户确认
- 如何在用户确认时更新knockoutjs视图模型
- jQuery UI对话框:如果用户确认或取消UI对话框,如何检查
- 提示用户确认提交,不使用ajax
- 获取用户确认激活链接值
- 模态引导用户确认
- 通过单个用户确认从远程服务器下载多个文件
- 在重定向到已点击的链接之前要求用户确认
- 单击链接时提示用户确认
- 用户确认消息框如何在ASP.Net中工作
- 如何获得验证码客户端验证参数g-recaptcha-响应后,用户确认他不是一个机器人