1

アプリケーションのリンクが CTRL キーによって新しいウィンドウ/タブにあふれないようにする必要があります。現在、私のページには次のものがあります。

        $(document).click(function(e)
        {
            if (e.ctrlKey)
            {
                return (false);
            }
        });

これは、DIV クリックに対しては正常に機能しているようですが、リンク クリックは完全に無視されます。CTRLキーを単独で無効にして、単純なクリックのように見せることができるかどうかを確認しています。それは可能ですか?ctrl だけのイベント keyCode を強制的にゼロにするようなものですか?

4

2 に答える 2

2

次を使用できます。

$('a').click(function(e) {
    if(e.ctrlKey) return false;
});

このデモを確認してください:http ://jsfiddle.net/gTG6Q/

注:ユーザーは引き続き右クリックして、新しいタブでリンクを開くことができます。contextmenuそれを防ぐために、イベントも無効にする必要があります。

于 2012-10-22T09:20:35.383 に答える
1

「ドキュメント」に加えて、この単純なワンライナーを使用して、後でAJAXを介して追加される可能性のある要素:-コードをコピーする

$(document).on("click", "*", function(e)  { 
    if (e.ctrlKey) return false; 
});

jQueryのバージョンがv1.7より前の場合は、.on()の代わりに.live()を使用します(単語を「on」から「live」に変更するだけです)。

于 2012-10-22T20:29:18.337 に答える