Tumblrのlogin pageは多くの人にインスピレーションを与え、趣味の開発者として、私はどのようにログインフォームを作ったのか見たいと思っていました。私は他のページにjQueryの1.3を使用するようjQueryのUncaught TypeErrorはコードの競合に起因しますか?
<div id="login_form_container">
<form method="post" action="logged-in.html" id="login_form">
<div class="input_wrapper">
<label for="login_email">Email address</label>
<input type="text" name="email" id="login_email" value="">
</div>
<button type="submit"><span>Log In</span></button>
</form>
</div>
を見て、私は彼らの素敵な効果を得るために、以下のものを使用してみました:私はそうのように、余計なコードを離れて取り、簡易版を思い付きました。 、これはページ上のコードのみであるとき
<script>
$("input#login_email").click(function() {
$(".input_wrapper").addClass("blurred filled");
});
$("input#login_email").blur(function() {
$(".input_wrapper").removeClass("blurred");
});
</script>
これは素晴らしく、ダンディに動作しますが、私はjQueryの他のビットとページにそれを置くとき:それは彼らがそれを持って、非常にどのようにではないのですが、非常に単純化されたバージョンそれは、それは明らかに私のコードのChrome、FirefoxやSafariのか同じだ
Uncaught TypeError: Cannot call method 'click' of null
(anonymous function)
:それはのエラーを返します。
問題は何ですか?
- ページ内の他の箇所で競合するjQuery参照が原因である可能性はありますか?
- もっと明白ですか?
- 私は関数に名前を付けなかったのでそれはありますか?
私はなぜコードが孤立して動作するのか疑問に思っていますが、ページ内の他の要素と組み合わされていると混乱しません。これは私に困ってしまった。
のようなスクリプトを変更も*あなたのページの*プロトタイプですか? –
あなたは正しいです。問題を分離するために私自身の狩猟をしました(最初の答えに対する私のコメントを参照してください)。実際にScriptaculous.jsとPrototype.jsの両方から生じる矛盾があります。どうすればこの問題を解決できますか? –