我希望我不只是犯了一個愚蠢的錯誤,但出於某種原因,下面的代碼不起作用。出現這種情況的唯一事情是它記錄在控制檯 「準備」,但。點擊jquery .click不起作用
的Javascript沒有什麼:
var Photobooth = (function(){
var api = {};
var init = function(){
form_ready();
};
var form_ready = function(){
console.log("ready");
$('#btn-signin').click(function(e){
e.preventDefault();
console.log('click');
$.ajax({
type: 'POST',
url: "entertainment/photobooth/signin/action/",
data:$(this).serialize(),
success: function(){
$(this).addClass("done");
}
});
});
};
init();
return api;
})();
HTML:
<a id="btn-signin" href="##">SIGN IN </a>
解決方案:通常情況下,我把我的JS代碼放在文檔的末尾,在結束的主體之前......在這種情況下,我必須把它放在一開始,忘記放置document.ready,所以它現在可以工作。由於
剛剛在Chrome中嘗試過,它似乎工作正常(我得到「點擊」登錄控制檯):http://jsfiddle.net/SzwRe/ –
你有很多不必要的代碼,最好是創建一個減少你的問題。你的api變量被返回,但它是一個空對象。 –
它適合我。文檔準備好之前,您的JavaScript正在運行嗎? – smoak