2013-10-08 165 views
0

我有我的觀點一個JQuery的單擊事件不會觸發

<div class="span12"> 
    <button id="saveButton" class="btn"><i class="icon-download-alt green"></i> Save</button> 
</div> 

和JQuery的一個按鈕,單擊事件

$("#saveButton").click(function() { 
    alert("Save clicked"); 
}); 

出於某種原因,單擊事件從未被觸發。 如果我在JQuery事件之前放置警報,則警報成功觸發。

我確定我在這裏錯過了一些非常簡單的東西,但我似乎無法找到問題。

我確信,

  • jQuery是成功列入
  • JavaScript文件被成功列入
  • 我用正確的ID爲控制

是否有任何理由,這事件沒有被觸發?

+0

處於初始加載DOM HTML片段?如果沒有,那麼使用jquery的'.on()'函數。 –

+0

您必須確保在文檔加載後聲明瞭click事件偵聽器。所以使用jQuery,請參閱文檔[這裏](http://api.jquery.com/ready/) – Stphane

回答

4

您需要將您的代碼放入文檔就緒處理程序中。如果沒有它,jQuery將嘗試在DOM中存在該元素之前附加click事件。

$(function() { 
    $("#saveButton").click(function() { 
     alert("Save clicked"); 
    }); 
}); 
3

試試這個:

$(document).ready(function() { 
    $("#saveButton").click(function() { 
     alert("Save clicked"); 
    }); 
    }); 
+0

謝謝。有效。 – user65439

0

請在這裏工作的小提琴:

http://jsfiddle.net/6e2q3/

$(document).ready(function() { 
    $("#saveButton").click(function() { 
     alert("Save clicked"); 
    }); 
}); 
0

這裏是工作的代碼,

<html> 
    <head> 
     <script src="http://code.jquery.com/jquery-1.9.0.min.js"></script> 
     <script> 
      $(document).ready(function(){ 
       $("#saveButton").click(function() { 
        alert("Save clicked"); 
       }); 
      }); 

     </script> 
    </head> 
    <body> 
     <div class="span12"> 
      <button id="saveButton" class="btn"><i class="icon-download-alt green"></i> Save</button> 
     </div> 
    </body> 
</html> 

JS Fiddle

0
$(function() { 
$("#saveButton").click(function() { 
    alert("Save "); 
}); 

});

希望這將工作