2012-05-08 17 views
0

私は動的チェックボックスを作成し、それにonclickイベントを付加します。以下はコードですチェックボックスonclickはIE8では動作していませんがIE9で動作します

var table = document.getElementById(tableID); 
var rowCount = table.rows.length; 
var row = table.insertRow(rowCount); 

var cell1 = row.insertCell(0); 
var checkbox = document.createElement("input"); 
checkbox.type = 'checkbox'; 
checkbox.onclick = testClick(); 
cell1.appendChild(checkbox); 

function testClick() { 
      alert("Hello"); 
} 

上記のコードはIE9ではうまく動作しますが、IE8ではうまく動作しません。私はJquery 1.7.1を使用しています。

ご協力いただきますようお願い申し上げます。あなたはそれを使用しない理由はjQueryを使用している場合

checkbox.onclick = testClick; 

答えて

3

:ありがとう..あなたが関数ハンドラを渡す必要があります

+0

jQueryは構文エラーを処理しませんが...コールバック関数として関数の戻り値を明示的にバインドしています –

+0

@EliasVanOotegem無名関数で関数呼び出しをラップしてもそれが処理されます。 –

+0

真実ですが、ちょっと残虐ですね。匿名のコールバックを作成するのは、コールバックのポイントをむしろ敗北させる関数を呼び出しているからです。P –

3

onclick属性への呼び出しを機能しませんか?それはクロスブラウザーの問題を処理する

+0

私は今IE8でエラーが発生していないことを意味しますが、testClickメソッドで私はIE9ではなく、IE8でうまく来ている警告があります。 –

+0

私はあなたのためにjsFiddleデモを作ったhttp://jsfiddle.net/5yq6X/これをIE8で試してください – antyrat

関連する問題