2011-10-04 58 views
0

我想创建一个名为SignIn的按钮,它可以容纳没有javascript的浏览器,但是当启用Javascript时不会导航。

<script type="text/javascript"> 
    $(function() { 
     $("#signIn").click(function() { 

      // 
      // Stop event bubbling 
      // 
      return false; 
     }); 
    }); 

    // Gets the div tag and its content for an identity provider 
    function GetIdentityProviderTag(idp, index) 
    { 
     return '<div class="identity-provider" id="button' + index + '"><button>' + idp.Name + ' </button></div>'; 
    } 
</script> 

<div> 
    <a href="/NoJavascriptSignIn" id="signIn">Sign In</a> 
</div> 

我需要做些什么才能同时启用JavaScript和JavaScript禁用的浏览器?

回答

2

下面的代码片段阻止浏览器下面的链接(主要是return false),你应该将其删除:

$(function() { 
    $("#signIn").click(function() { 

     // 
     // Stop event bubbling 
     // 
     return false; 
    }); 
}); 

如果你只是想自动按下按钮,使用:

$(function() { 
    $("#signIn").click(); 
}); 
+0

什么是这个代码,取消导航不同,那么一个我张贴的问题吗? – LamonteCristo

+0

没什么,它的意思是被删除。我假设你想自动按下登录按钮,但是现在我再次阅读你的问题,看起来你并没有试图达到目的。你的代码应该可以工作,错误控制台中是否有错误? – Lekensteyn

+1

Sonofagun ....我的测试网站位于“限制区域”,但“internet”和“localhost”也是如此。感谢大家的正确答案! – LamonteCristo

2

要停止链接的默认动作,请点击添加:

e.preventDefault(); 

到脚本所以看起来像

$("#signIn").click(function (e) { 
     e.preventDefault(); 
     // 
     // Code inserted here 
     // 
    }); 

的preventDefault()方法取消事件如果是取消,不停止对事件的进一步传播。

1

你可以尝试

<a href="/NoJavascriptSignIn" id="signIn" onclick="return signin()">Sign In</a> 

<script type="text/javascript"> 
function signin() { 
    //Do sign in stuff 
    return false; 
} 
</script>