問題は、ラジオボタンの上にキーを押すと、要素MyFunc
が2回発生することです.1回はonkeypress
イベント用、もう1回は「クリック」イベント用です。
質問「なぜ?」これを 2 つの異なる方法で処理する必要がありますが、最初のイベントが何であったかを認識できません。マウスをクリックすると、「クリック」イベントだけが発生します。
<ul>
<li>
<input type="radio" onkeypress="MyFunc(event, this)" onclick="MyFunc(event, this)" name="myList" id="MyId_1" />Topic 1
<input type="radio" onkeypress="MyFunc(event, this)" onclick="MyFunc(event, this)" name="myList" id="MyId_2" />Topic 2
</li>
</ul>
function MyFunc(e, obj) {
alert(e.type); // alerts "keypress" and then "click"
// Do my stuff
}