1

次のコードが IE8 で機能しないのはなぜですか?

<select>
    <option onclick="javascript: alert('test');">5</option>

非常に奇妙です - IE8 ではアラートが表示されません。左隅にもエラーアイコンが表示されません。もちろんFFやOperaでも動きます。何か案は?

4

3 に答える 3

17

onclick要素にハンドラーを置くの<option>は....私には奇妙に思えます。onchangeそれを のより一般的なイベントに切り替えたいと思うかもしれません<select>。そこからやりたいことは何でもできます。これは、選択に対してやりたいことを行う「受け入れられた」方法です。そうは言っても、そのjavascript:部分を削除してみてください。hrefこれは、たとえばリンクで Javascript を実行している場合にのみ必要です。onclickハンドラーはJavaScript を想定しています。

于 2009-05-10T18:46:12.163 に答える
4

試してみましたか:

onclick="alert('test');"

javascript: プレフィックスは必要ないことを確認してください。

于 2009-05-10T18:46:40.647 に答える
4

IE のすべてのバージョン (6、7、8) は、オプション要素のイベント ハンドラーをサポートしていません。

これは (かなり) よく知られたバグであり、IE チームは修正を急いでいないことを示しています。:-(

繰り返しになりますが、Opera、Safari、および Chrome はすべて、オプションのイベント ハンドラーのサポートが制限されているか、まったくサポートされていません。

オプションのイベントの欠如:バグ 280

(関連) オプションのスタイルの欠如:バグ 281

「Edge」(Windows 10 の IE12 を考えてください) は現在、この問題がプレビュー リリースで修正されていることを示していることに注意してください。

于 2009-05-10T20:50:39.760 に答える