我有一个问题,这是我的代码:
<a href="Webshop.php" class="Button" onclick="myFunction()">Webshop</a>
<script>
function myFunction() {
var r = confirm("If you leave this page your purchase will be gone!");
if (r == true) {
window.location = "http://www.titansafes.sgr15.g-o.be/Webshop.php";
} else {
return
}
}
</script>
如果点击按钮,我会收到提示,如果他们点击确定,他们会直接返回网店,如果他们点击取消,他们需要留在页面上。但我怎么能做到最好呢? 我试过Window.location(不起作用),返回不起作用,这对我来说非常重要。
答案 0 :(得分:1)
<a href="Webshop.php" class="Button" onclick="myFunction();return false;">Webshop</a>
<script>
function myFunction() {
var r = confirm("If you leave this page your purchase will be gone!");
if (r == true) {
window.location = "http://www.titansafes.sgr15.g-o.be/Webshop.php";
} else {
}
}
</script>
答案 1 :(得分:0)
<a href="javascript:void(0)" class="Button" onclick="myFunction()">Webshop</a>
答案 2 :(得分:0)
`<a href="Webshop.php" class="Button" onclick="myFunction()">Webshop</a>
<script>
function myFunction(event)
{
event.preventDefault();
var r=confirm("If you leave this page your purchase will be gone!");
if (r==true)
{
window.location ="http://www.titansafes.sgr15.g-o.be/Webshop.php";
}
}
</script>`
答案 3 :(得分:0)
最好不要使用return false;
,而是在事件处理函数中调用对传递给它的事件对象参数的preventDefault方法。事件对象是传递给每个事件处理函数的单个参数。关于它的两个重要方法是preventDefault,它停止默认事件操作(在这种情况下是导航,因为它是一个链接。第二个重要的方法是stopPropagation,它将阻止事件在父元素上被触发。
使用return false
实际上会同时执行这两项操作,这不是您想要的任何内容,知道何时使用以下内容非常重要:
http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/
所以你的处理程序应该看起来像这样(添加preventDefault):
function myFunction(eventObject) {
eventObject.preventDefault();
var r=confirm("If you leave this page your purchase will be gone!");
if (r==true) {
window.location ="http://www.titansafes.sgr15.g-o.be/Webshop.php";
}
}
另外,作为旁注,请尝试避免使用内联事件:onclick="CODE"
而不是使用:
element.addEventListener()
方法和它的IE8和更旧的替代品。
http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/