1

送信時にajax経由で処理される連絡先フォームがあります。次に、メッセージが送信されると、ajax コールバック関数がフォームの代わりに、以前のフォームと同じ div 内に新しいファイル thank-you.php をもたらします。

お礼ファイルには、誤って入力されたフィールド属性の検証 (サーバー側の検証) も含まれます。問題は、検証エラーが発生した場合に、訪問者にクリックしてフォームに戻ってもらいたいので、リンクがあることです。

<a id="contact_back" href="#">Go back to contact form</a>

フォームを元に戻すために使用する onclick。しかし、私はそれを選択することができません。live() を試してみましたが、うまくいきませんでした。とにかく使いたくありません。私はむしろ on() API を使用したいと思います。

$("#contact_back").on("click", function(){
    alert('works');
});

しかし、それでもこれも選択に失敗します。では、ajax またはその場で取り込まれた要素をどのように選択するのでしょうか?

4

3 に答える 3

2

オブジェクトが DOM に存在しない場合、イベントを委任する必要があります。

$("body").on("click", "#contact_back", function(){
    alert('works');
});
于 2013-05-07T22:09:46.933 に答える
0

イベント委任を使用- 動的に作成された要素の場合

$(document).on("click","#contact_back", function(){
    alert('works');
});

http://api.jquery.com/on/

于 2013-05-07T22:09:56.023 に答える
0

使用.delegate():

jQueryドキュメントから:

ルート要素の特定のセットに基づいて、現在または将来、セレクターに一致するすべての要素の 1 つ以上のイベントにハンドラーをアタッチします。

お役に立てれば!

于 2013-05-07T22:09:58.790 に答える