单击链接后Javascript停留在页面上

时间:2014-01-16 07:56:28

标签: javascript

我有一个问题,这是我的代码:

<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(不起作用),返回不起作用,这对我来说非常重要。

4 个答案:

答案 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/