0

私はこの jquery スクリプトを持っていますが、head タグでは機能しません。

<script type="text/javascript">
    $(window).load(function() {
        $( "#target" ).submit(function( event ) {
            alert( "Handler for .submit() called." );
            event.preventDefault();
        });
}
</script>

しかし、コードをフォームの下に置くと、通常は機能します。

.js ファイルに入れたい。ただし、フォームの後に含める場合にのみ、head タグでは機能しません。

このコードを head タグで動作させることは可能ですか?

4

3 に答える 3

2

おそらく、.loadイベントが発生する前にフォームがレンダリングされません。

ウィンドウが何であるかを確認しますが、次のように書きたい場合があります。

<script type="text/javascript">
    $(document).ready(function() {
        $( "#target" ).submit(function( event ) {
            alert( "Handler for .submit() called." );
            event.preventDefault();
        });
     });
</script>

このリンクを確認してください

このアプローチを使用しない場合.ready、コードを実行し、検索し#targetて何も見つけられません。これは、レンダーが対象のオブジェクトを通過していないため、それを見つけることができないためです。

于 2013-10-13T22:44:12.533 に答える
2

代わりに、次のように jQuery を初期化する必要があります。

$(document).ready(function() {
    $( "#target" ).submit(function( event ) {
        alert( "Handler for .submit() called." );
        event.preventDefault();
    });
});
于 2013-10-13T22:44:33.447 に答える