私は愚かな間違いをしているだけではないと思っていますが、何らかの理由で次のコードが動作しません。jquery .clickが機能しない
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>
解決起こる唯一の事は
Javascriptを.click以内に何もない、それはコンソールで、 "準備完了" ログに記録しますが、通常、I私のJSコードを文書の終わりに、閉じた本文の前に置いてください...この場合、私は最初にそれを入れてdocument.readyを置くのを忘れてしまったので、今すぐ動作します。あなたは、私はjQueryのレディ機能であなたのコードを巻いていることがわかります私の例では
var Photobooth = $(function(){...
....
init();
return api;
});
ちょうどChromeで試してみましたが、うまく動作しているようです(コンソールに「クリック」しています):http://jsfiddle.net/SzwRe/ –
あなたには不要なコードがたくさんあります。あなたの問題の軽減。 api変数が返されますが、空のオブジェクトです。 –
それは私のために働く。ドキュメントが準備される前にJavaScriptが実行されていますか? – smoak