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