1

onclick のこれらの機能の違いについて混乱していますか?
そしてどちらが良いですか?そして、それらが異なる場合の意味。

     onclick =  "return func()"
     onclick =  "return func();"
     onclick =  "javascript: func()"
     onclick =  "javascript: func();"
     onclick =  "func()"
     onclick =  "func();"
     onclick =  "return true"

どんな説明でも大歓迎です。
さらにある場合は、それも知りたいです

4

2 に答える 2

2

それらのいくつかは異なりますが、いくつかは同じです。

最初のものから始めてonclick = "return func()"、関数を実行することを意味し、戻り値が true の場合はクリック アクションを実行します。つまり、リンク上にあり、戻り値が true の場合、ブラウザーはリンクに移動し、そうでない場合はクリックを無視します。

2 つ目は最初のものと同じです。

3 つ目onclick = "javascript: func()"は、関数を実行するだけで、戻り値を調べないことを意味します。リターンとは独立してクリック アクションを処理します。リンクでこれを使用するとページが変更されるため、スクリプトを実行できません...

4枚目、5枚目、6枚目は3枚目と同じです。

7番目のものは実行に影響を与えず、要素が通常どおりに動作するようにします..要素がリンクの場合、ブラウザはリンクに移動します..

ただし、最後のものをreturn falsethen に変更すると、ご想像のとおり、クリックが無視されます。

于 2012-09-18T18:43:12.340 に答える
2

return func()との間に違いはありませんreturn func();。セミコロンがない場合は、その場で追加されます。他の例についても同様です。

return func()呼び出しfunc()と戻り (「戻り」の部分は少し複雑ですが、バブルが含まれ、クリックのデフォルトの動作をオーバーライドすると思います。戻るtrueと、ブラウザーにデフォルトの動作を呼び出すように指示されます (たとえば、リンクのターゲットに移動するなど)。 、 false を返すとデフォルトの動作が無効になります. それ以外のものが返された場合にどうなるかは完全にはわかりません.

javascript:func()--と (ほぼ) 同じですfunc()が、これは時代遅れの方法です。これを使用しないでください。

func()他のものとほぼ同じですが、バブリングとデフォルトの動作に問題が発生する可能性があります。return true;通常、またはのいずれかを指定します。return false;

return trueほとんど何もしません。ブラウザに「すでに実行しようとしていたことを実行する」ように指示するだけです。一方、false を返すと、デフォルトの動作が無効になります。

結論として、最初の 6 つは基本的に同じことを行い、7 番目はデフォルトの動作を呼び出すだけです。

于 2012-09-18T18:43:27.677 に答える