次の違いは何ですか?
onClick="javascript: function('value');"
onClick="function('value');"
javascript:
関数呼び出しの前にいつ使用しますか、またその理由は何ですか?
javascript:
プレフィックスを使用せずに関数を呼び出すことはできますか?
違いを理解するのを手伝ってください。
次の違いは何ですか?
onClick="javascript: function('value');"
onClick="function('value');"
javascript:
関数呼び出しの前にいつ使用しますか、またその理由は何ですか?
javascript:
プレフィックスを使用せずに関数を呼び出すことはできますか?
違いを理解するのを手伝ってください。
、、などonclick
の要素のインラインイベントハンドラーでは、プレフィックスは必要ありません。プレフィックスがよく表示される理由は、以下で説明する構文と混同されるためです。エラーは発生しませんが、ラベルとして解釈されると思いますが、不要です。onchange
onsubmit
javascript:
href
関数を呼び出すか、「単純な」JSステートメントを実行するかは関係ありません。どちらの方法でも、インクルードしないでください。javascript:
つまり、これら3つすべてが有効です。
onclick="doSomething('some val');"
onclick="return false;"
onclick="doSomething(); doSomethingElse(); return false;"
javascript:
インラインイベント属性を使用している場合は、プレフィックスを使用しないでください。
(この方法は非常に時代遅れであるため、「インラインイベント属性を使用している場合」と言います。スクリプトブロックでJSを使用してイベントハンドラーを割り当てることをお勧めします。)
次のような要素の属性javascript:
からJavaScriptを実行する場合にのみ、プレフィックスが必要です。<a>
href
<a href="javascript: someFunc();">Whatever</a>
これは、ブラウザが通常href
URIを含むjavascript:
ことを期待しているため、プレフィックスは代わりにJSコードを期待するようにブラウザに指示します。ただし、JSが無効になっているユーザーにはページが機能しないため、これを行うことはお勧めしません。href
JSを有効にするようにユーザーに指示するページにユーザーを誘導するを含め、JS機能を実行するためのを含めることをonclick
お勧めします。
<a href="/enableJS.html" onclick="doSomething(); return false;">Whatever</a>
そうすれば、JSが有効になっているかどうかに関係なく、リンクはユーザーにとって有用なことを行います。return false
クリックハンドラの最後にあるは、クリックのデフォルトの動作(指定されたURLに移動すること)を防ぎます。
最初のものは完全に冗長なラベルを持っています。
関数呼び出しの前に「javascript:」を使用する必要があるのはいつですか。使用する理由は何ですか。
一度もない。(まあ、ほとんど。javascript:
スキームURIで使用しますが、ブックマークレットを作成している場合にのみ使用する必要があり、onclick
属性には表示されません)。
(javascript:
URIは、属性値の前にラベルを付けるというカーゴカルトの慣習が由来する場所です。)onclick
「javascript:」を使わずに関数を呼び出すことはできますか?
はい。