5 に答える
href
セキュリティ上の理由から、状況によっては一部のブラウザで無効になっているJavascript を に配置しないでください。
onclick
イベントを使用してコードを実行します。
<a href="#" onclick="onHello();return false;"><label style="cursor:pointer">Hello2</label></a>
純粋な構文の問題だと思います。ラベルはフォームで使用することを意図しており、ユーザーがクリックしてフォーム入力を操作できます。
あなたが「理由」と「理由」を言わなかったのは理解していますが、リンク内でラベルを使用することは絶対に良い考えではありません...ラベルタグはクリックされることになっているため、タグ内のタグだけではありません。2つのタグがありますクリックできます。IE はあなたの例でラベル付けすることをより重要視しているように見えるので、リンク内のコードを実行しません。
onClick イベントで JavaScript を実行する必要があります。href には配置しないでください (# などを href として使用します)。
また、リンクがたどられないようにしたい場合は、false を返すことを忘れないでください。(または event.preventDefault())。例えば
<a href="#" onClick="onHello(); return false;">Hello1</a>
代わりに onclick で href を使用する
<a href='#' onclick="onHello(); return false;">Hello1</a>
a-tag をまったくスキップして、javascript スニペットをラベルにバインドしないのはなぜですか?
<label style="cursor:pointer" onclick="onHello();">Hello2</label>