没有javascript的href替代品吗?

Pau*_*aul 0 javascript jquery

我目前正在使用javscript和类来处理我的点击事件,如下所示:

<a class="forgotten" href="#">Forgot your password?</a>

$('.forgotten').click(function(){
    location.href = "forgotten.php"; 
    return false;
});
Run Code Online (Sandbox Code Playgroud)

有没有办法首先评估该功能,如果javascript被禁用,只需转到forgotten.php?

我知道我可以轻松删除该类并将forgetten.php添加到href,但我正在大量使用jquery地址,因此它会破坏我的一些网站.

Dar*_*rov 6

当然,首先设计你的标记,以便即使用户禁用了javascript它也能正常工作:

<a class="forgotten" href="/forgotten.php">Forgot your password?</a>
Run Code Online (Sandbox Code Playgroud)

然后你可以使用不引人注目的javascript:

$(function() {
    $('.forgotten').click(function(evt) {
        evt.preventDefault();
        window.location.href = "forgotten.php"; 
    });
});
Run Code Online (Sandbox Code Playgroud)

显然你可能想要在这个javascript .click()处理程序中做一些更奇特的事情,而不仅仅是重定向到forgotten.php禁用了javascript的锚已经做到的那个.你可以做一些渐进式增强.就像一个动画或其他东西的AJAX调用.

现在,如果用户禁用了javascript,他将被简单地重定向到forgotten.php.如果他不这样做,那就把你的想象力付诸行动吧.

  • 你应该在click事件上使用`.preventDefault()`而不是`return false`. (2认同)