7

私はしばらくこれを探していましたが、説明がありませんでした。

「onclick」およびその他の javascript のイベントの場合、falseを返すイベント ハンドラーは「デフォルト アクションを防止する」ことを意味します。ただし、「onmouseover」には例外が 1 つあります。「onmouseover」の場合、trueを返すことは「デフォルト アクションを防止する」ことを意味します。

「onmouseover」の奇妙な例外的なケースがあるのはなぜですか?

4

3 に答える 3

6

デフォルトのイベント動作を防ぐために return false / trueを使用する代わりに、イベント オブジェクトでデフォルトのメソッド / 属性を使用します。

elem.onmouseover = function(e) {
    if (!e) var e = window.event; // IE
    if(e.preventDefault) {
        e.preventDefault();
    } else {
        e.returnValue = false; // IE
    }
}
于 2009-02-02T05:43:39.013 に答える
3

私の知る限りtrue、リンクの URL がステータス バーに表示されないようにするために戻るのは、IE 固有の (誤った) 機能です。そして、なぜ IE がそのように動作するのかを理解しようとすることは、多くの場合、失われた原因です。

于 2009-02-02T10:52:13.977 に答える
2

本当の理由は誰にもわかりません。まさにその通りです: onmouseover から TRUE を返して、URL がステータス バーに表示されないようにします。これは実際にはデフォルトの動作です。

于 2009-02-02T05:48:26.773 に答える