2012-03-05 8 views
3

可能性の重複:
Do you ever need to specify javascript: in an onclick?何が良いですか?javascript:functionName()またはfunctionName()だけですか?

例えばのonclickイベントに我々はfunctionName()で関数を呼び出すときMVC3で書いた方が良いとは何ですか? javascript:functionName()またはちょうどfunctionName()

+0

あなたの答えはここにあります: http:// stackoverflow。com/questions/372159/do-you-ever-need-to-specify-javascript-in-an-onclick 検索を使用してください:) – Oyeme

+0

ありがとう、私は検索を使用しましたが、JavaScriptを検索して10分後に:私があきらめて質問を書いた他の同様のこと。 – Unknown

答えて

4

実際には、javascriptとマークアップを混ぜて使用しないことをお勧めします。したがって、このonclickイベントハンドラを、別のファイルのjavascriptを使用して目立たないようにアタッチすることができます。しかし、あなたの質問に関しては、javascript:のプレフィックスは必要ありません。

1

あなたのHTMLには、関心事と控えめなjavascriptの分離のためにjavascriptを使用しない方が良いです。

あなたがのonclickイベントを追加したい場合は、以下を使用します。

document.getElementById('element').onclick = functionName 

あなたのjavascriptファイルで。このようにして、プレゼンテーションレイヤー(HTML)はロジックレイヤー(Javascript)から分離されます。

1

javascriptをマークアップ(別名behavioral separationまたはunobtrusive javascript)から分離する方法があります。マークアップ内にjavascriptを置くと(<div onclick="[javascript:]startMyFunction()" ...>のように)、式はeval -edでなければならず、別のインタープリタを生成します。
これは、javascriptタグ内で、スクリプトが所属する場所にスクリプトを置く方が効率的です。

2

javascript:は、表示される場所によって異なることを意味します。

URIでは、JavaScriptを実行してリソースを取得することを意味します。これはprogressiveまたはunobtrusiveではありません。避けてください。 JavaScriptで

onclick属性の値である)、それはlabelです:

  • whiledoforswitch以外のものを標識しても意味がありません。
  • ほとんどの場合、ラベルが有用であれば、コードをリファクタリングする方が良いでしょう。
  • javascriptは、JavaScriptプログラムのステートメントではひどいラベルです。
  • あなたはonclickの属性でwhiledoforまたはswitchを持っている場合は、あなたが後でそれを読むために戻ってきたときに、あなた自身の正気のための機能にそれを抜け出す必要があります。
  • onclickの属性はunobtrusiveではありません。とにかく避けてください。
関連する問題