点击事件在jquery中不起作用

时间:2012-09-05 13:49:43

标签: jquery

在我的下面的代码点击事件不起作用,任何人都可以告诉我为什么? 注意:我也试过了.live('click', function)但是没有用,所以建议我另一个解决方案。

    <script type="text/javascript" src="js/jquery-1.7.1.js"></script>
    <script type="text/javascript" src="js/jquery-1.7.1.min.js"></script> 
    <script type="text/javascript" src="js/jquery.mobile-1.1.0.js"></script>
    <script type="text/javascript" >
    $(function(){
       $("#signup").click(function(){
       alert("in");
      var street = $("#street").val();
       var mno = $("#mno").val();
      var tno = $("#tno").val();
      var word = $("#word").val();

     //var accept = $("#accept").val(); 
      if(street=="" && mno=="" && tno=="" && word="" &&            document.getElementById('accept').checked==false)
      {
     alert("Enter all the details");

      }

     else if(street=="")
     {
 alert("Enter your street name");

 }
 else if(mno=="")
 {
 alert("Enter your mobile no");

 }
 else if(tno=="")
 {
 alert("Enter your telephone no");

    }
else if(word=="")
{
alert("Enter the word displayed");

}
else if (document.getElementById('accept').checked==false)
{
alert("Accept our terms and conditions");

}
    return false;
    });  
    });  
    </script> 
   <body>
    <div class="inner-content">
             <label for="basic">Street Details:</label>
            <input type="text" name="name" id="street" data-mini="true" />
            <label for="basic">Mobile Number:</label>
            <input type="text" name="name" id="mno" data-mini="true" />
            <label for="basic">Telephone Number:</label>
            <input type="text" name="name" id="tno" data-mini="true" />
            <label for="basic">Enter the word </label>
            <input type="text" name="name" id="word" data-mini="true" />
            <label class="check"><input type="checkbox" id="accept"/> I accept the  Terms and Conditions. </label>
             <label class="check"><input type="checkbox" /> Receive mail about   promotions.<br/> Offer and Service. </label>
           <a href="index.html" data-role="button" id="signup">Sign In</a> 
          </div>
        </body>

2 个答案:

答案 0 :(得分:1)

正如您在此处所见,jsFiddle demo代码显然正常运行。

然后问题是脚本没有找到jQuery或者是否在html中找不到a标记。

Chrome或Firebug for Firefox上的

f12可以帮助您。

编辑: 您正在加载两个不同的jQuery脚本,最小版本和非最小版本。尝试删除<script type="text/javascript" src="js/jquery-1.7.1.js"></script>

另外,请尝试:console.log($('#signup'))查看是否有任何返回。

答案 1 :(得分:0)

看起来jQuery文件没有正确加载.. 为什么不使用Google cdn托管的jQuery文件..它还有助于减少文件引用错误并减少网站带宽..

而不是

<script type="text/javascript" src="js/jquery-1.7.1.js"></script>
<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script> 

使用此

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>