2012-03-07 7 views

答えて

2

差が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からクリックハンドラーをアタッチする方が一般的です。

0

私はjavascriptのインラインを置くことはW3Cによって減価償却されていることを信じています。

イベントハンドラで2つの異なるスクリプト言語を使用する場合は、インラインJavaScriptのみを使用してください。

2

機能的に同等です。どちらがベストですか?いずれもマークアップと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); 
} 
関連する問題