4

html タグ (onclick、onsubmit など) にインライン JavaScript を追加することは、悪い習慣と見なされます。

<form id="form1" onsubmit="return validate();">
...
</form>
<a id="link1" href="http://www.google.com/" onclick="return popup();">Link1</a>

しかし、以下のようにすると、dom ready 関数が呼び出される前にユーザーがページと対話するため、validateorpopup関数が呼び出されない可能性はありますか?

<form id="form1">
...
</form>
<a id="link1" href="http://www.google.com/">Link1</a>
<script type="text/javascript">
$(document).ready(
    function(){
        $('#form1').submit(
            //validate
            function(){...}
        );
        $('#link1').click(
            //popup
            function(){...}
        );
    }
);
</script>
4

2 に答える 2

1

メソッドが外部ファイルにある場合は、メソッドのアタッチ方法に関係なく、スクリプトがロードされる前にフォームにアクセスできます。これは、保守性と関心の分離を容易にするための小さなトレードオフです。

于 2012-11-02T17:14:15.133 に答える
1

いつでも無効にして作成し、readyイベントを使用して、イベントがバインドされた後でのみ有効にすることができます。

HTML内のは、DOMをトラバースしようとすると、まだ存在していないものにアクセスしようとする可能性があることに注意してくださいonxxx。これにより、エラーが発生する可能性があり、ユーザーに数分の1秒待つよりも悪い結果になります。

于 2012-11-02T17:14:17.470 に答える