0

ページ内の他の要素が選択されないように、マウスダウンイベントをキャプチャしてイベントのバブリングを停止するリンク要素があります。ただし、Firefox (3 & 3.5) で DOM 2 イベント モデルを使用すると、ページ内の他の要素が選択されます。

オペラでテストしましたが、他の要素を選択しなくても問題なく動作します。また、別の奇妙な問題は、DOM 0 イベント モデルを使用すると正常に動作し、他の要素が選択されないことです。これはFirefoxのバグですか、それとも間違っていますか?

テストに使用した 2 つのイベント ハンドラーを次に示します。

past.addEventListener('mousedown', function (e) {
    e.stopPropagation();
    return false;
}, false);

past.onmousedown = function (e) {
    e.stopPropagation();
    return false;
};
4

1 に答える 1

0

試しましたe.preventDefault()か?stopPropagation祖先要素のイベント ハンドラーが呼び出されるのを停止しますが、これは、既定のアクションが実行されないようにすることと同じではありません。DOM 仕様では、マウス イベントと選択がイベント モデルの観点からどのように相互作用するかを実際には指定していないため、これは、あるブラウザーが 1 つの方法でそれを行い、あるブラウザーが別の方法で行い、どちらも「正しい」または「正しくない」領域の 1 つかもしれません"違う"。

于 2009-07-22T08:59:12.230 に答える