jQuery阻止了一个href

ski*_*iwi -1 html javascript jquery href

我想在我的网站上使用内联加载(通过AJAX),同时为无法访问Javascript的人保留(某些)功能(如果它们仍然存在).

我的菜单:

<?php
echo "<h3 id='title'></h3>";
if (empty($_SESSION['uid'])) {
    echo "<a href='index'>Home</a> <br> ";
    echo "<a href='register'>Register</a> <br> ";
    echo "<a href='login'>Log In</a> <br> ";
    echo "<a href='browser'>Browse MarketPlace</a> <br> ";
    echo "<a href='support'>Support us!</a>";
}
elseif (!empty($_SESSION['uid'])) {
    echo "<a href='index'>Home</a> <br> ";
    echo "<a href='overview'>Account Overview</a> <br> ";
    echo "<a href='browser'>Browse MarketPlace</a> <br> ";
    echo "<a href='sell'>Sell Items</a> <br> ";
    echo "<a href='logout'>Logout</a> <br> ";
    echo "<a href='support'>Support us!</a>";
}
?>
Run Code Online (Sandbox Code Playgroud)

我的Javascript:

$(document).ready(function() {
    $(document).on("click", "a", function(event) {
        var dataUrl = $(this).attr("href");
        if (dataUrl != "") {
            loadPage(dataUrl);
        }
        return false;
    });
});
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?我特别担心需要阻止原始a href呼叫,原生浏览器.

当我使用自定义的东西时,它完全没用<a data-url='index'>.然后我尝试了新版本并没有按预期工作return false;,但现在确实如此,所以我不太确定.

Rit*_*tan 9

使用event.preventDefault();

如果调用此方法,则不会触发事件的默认操作.

$(document).ready(function() {
        $(document).on("click", "a", function(event) {
           event.preventDefault();
            var dataUrl = $(this).attr("href");
            if (dataUrl != "") {
                loadPage(dataUrl);
            }

        });
    });
Run Code Online (Sandbox Code Playgroud)