関数を直接onclick = "fn1()"とonclick = "javascript :fnq() "?javascript関数onclick = "fn1()"とonclick = "javascript:fn1()"を呼び出すときに違いはありますか?
最高のアプローチは何ですか?
おかげ
関数を直接onclick = "fn1()"とonclick = "javascript :fnq() "?javascript関数onclick = "fn1()"とonclick = "javascript:fn1()"を呼び出すときに違いはありますか?
最高のアプローチは何ですか?
おかげ
差がonclick="fn1()"
あなたはそれが(「機能fn1()
を実行する」んだと思う何を意味していることです)、onclick="javascript:fnq()"
はfnq()
の文ではlabelとしてjavascript:
を無駄に使用しています。 onclick="foobarbaz:fnq()"
と書くこともできますが、同じことが起こります。 javascript
については何も特別なことはありません。 (あなたがjavascript:
がhttp:
と同じ一般的な目的を果たす<a href="javascript:fnq()">
にURLプロトコルとしてjavascript:
の使用を考えてすることができるだろう:それはURLのタイプを示します。)これらの
、onclick="fn1()"
が良い習慣です、 JavaScriptからクリックハンドラーをアタッチする方が一般的です。
私はjavascriptのインラインを置くことはW3Cによって減価償却されていることを信じています。
イベントハンドラで2つの異なるスクリプト言語を使用する場合は、インラインJavaScriptのみを使用してください。
機能的に同等です。どちらがベストですか?いずれもマークアップとJavaScriptを混在させないでください。代わりに、あなたの要素に関数をバインドします
<div id="element"></div>
は今これを行うには、複数の方法があります。
// Find element
var el = document.getElementById('element');
// Option 1:
el.onclick = function() {
fn1();
};
// Or by reference:
el.onclick = fn1;
// Option 2:
if (el.addEventListener) {
el.addEventListener('click', fn1, false);
} else {
el.attachEvent('click', fn1);
}
はい、1つは推奨されず、もう1つは非推奨です – ajax333221