我目前正在使用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地址,因此它会破坏我的某些网站。
答案 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格式化它。