コンテキストメニューのjQueryプラグインを使用していますが、これをサポートしているブラウザを検出する必要があります。これはどのように行うことができますか?
OperaとSafariの一部のバージョンは、この右クリックのオーバーライドビジネスをサポートしていないと聞きました。
コンテキストメニューのjQueryプラグインを使用していますが、これをサポートしているブラウザを検出する必要があります。これはどのように行うことができますか?
OperaとSafariの一部のバージョンは、この右クリックのオーバーライドビジネスをサポートしていないと聞きました。
コンテキストメニュー イベントを手動で作成して発生させることができます。適切なハンドラーを設定すると、ハンドラーが呼び出されたかどうかを検出できます。
以下に例を示します (イベントの作成と監視に jQuery を使用)。
function testContextMenuEvent() {
var supported = false;
function handler(e) {
supported = true;
e.stopPropagation();
}
$(document).bind('contextmenu', handler);
var evt = jQuery.Event("contextmenu");
$(document).trigger(evt);
$(document).unbind('contextmenu', handler);
return supported;
}
ここにテストページがあります: http://jsfiddle.net/Hk4xA/6/
edit2 : DOM が再び攻撃されました。createEvent
IEでは完全に機能しないことを忘れていました。代わりに、イベントの作成にも jQuery を使用しました。