Teraz mam następujący kod:Symulowanie kliknięcia łącza w JavaScript/jQuery, który daje normalne zachowanie przeglądarki
<script>
$("#clickme").click(function(){
$("#clicker").click();
});
</script>
<div id="clickme" style="height:20em; width:20em;">
<a id="clicker" href="http://www.google.com"> Link </a>
</div>
Skutecznie, jeśli klikniesz gdziekolwiek na div tła, javascript będzie symulować kliknij właściwy link i przejdź do strony docelowej.
Jednak to nie działa tak dobrze, gdy próbujesz kliknąć, przytrzymując klawisz Ctrl, ponieważ przeglądarka nie otworzy nowej karty, a zamiast tego po prostu wczytuje adres URL do bieżącego okna.
Zamiast tego zachowania, chcę mieć normalne zachowanie przeglądarki (tzn. Otworzyć nową kartę, nie zmieniać bieżącego okna dla kliknięcia z naciśniętym klawiszem Ctrl) po kliknięciu tła. Czy istnieje sposób to zrobić w JavaScript/jQuery?
Wolałbym nie próbować wykrywać wciśniętego klawisza "ctrl" - jest kilka podobnych przypadków i wolałbym mieć rozwiązanie, które rozwiązuje wszystko, zamiast próbować złapać każdy taki przypadek.
Rozważ czytanie tego pytania: http://stackoverflow.com/questions/7867329/jquery-open-url-in-new-tab –