我在某些链接上设置了一个JavaScript弹出“确认对话框”,当点击该链接时,它说“你确定吗?”并允许您确认或取消,但无论您选择什么,ajax呼叫都将有效。
<a onclick="return confirm(\'Are you sure?\')" class="sendEmailLink" href="/" id="someID">Send</a>
调用的函数如下所示:
$$('.sendEmailLink').addEvent('click', function(e)
{
e.stop();
(I assume something should go here)
var myRequest = new Request.JSON({
etc...
确认对话不会停止上述代码是有道理的,但我无法理解如何在mootools中实现这一点。帮助
我需要一个可以选择是或否的对话框,如果是,则继续使用ajax请求,如果没有,则不要继续请求。
感谢。
答案 0 :(得分:0)
以下是解决方案:http://jsfiddle.net/kVjAB/
一些意见:
不要再在Mootools中使用$$或$了。它们已被弃用。
在您的代码中,您绑定click event
进行链接。此外,您添加了属性onClick
,它将首先运行自己的代码,然后是绑定的代码。这就像你添加两个单独的事件来链接。
答案 1 :(得分:0)
就像@Marcin提到的那样,你将两个点击事件绑定到一个元素,所以难怪你的ajax调用会像往常一样进行,而不管确认对话框的结果如何。
通过onclick
属性不将事件绑定到元素来消除一个。 (切勿使用onclick
!)
element.addEvent('click', function() {
if (confirm('Are you sure?')) {
new Request.JSON({
// ...
}).send();
} else {
// Do nothing
}
});
以下是您可以使用的相关jsFiddle。