没有javascript的href替代品吗?

时间:2012-01-07 15:46:20

标签: javascript jquery

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

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

$('.forgotten').click(function(){
    location.href = "forgotten.php"; 
    return false;
});

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

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

3 个答案:

答案 0 :(得分:6)

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

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

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

$(function() {
    $('.forgotten').click(function(evt) {
        evt.preventDefault();
        window.location.href = "forgotten.php"; 
    });
});

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

现在,如果用户禁用了javascript,他将被简单地重定向到forgotten.php。如果他没有,那就把你的想象付诸行动。

答案 1 :(得分:0)

使用#作为href是不好的做法,而不是如何做事。

如果您只是将#with forgotten.php替换掉,那么您的代码将完全符合您的要求。 JS将首先被触发。

答案 2 :(得分:0)

如果你想处理javascript可能被禁用的场景,那么我会采取相反的方法。首先格式化HTML,就像Javascript不存在一样。然后在文档加载后使用javascript格式化它。