Jquery: сделать весь блок кликабельным, сохраняя при этом возможность открытия в новой вкладке / окне
Я не хочу использовать css для расширения ширины/высоты ссылки и т. д.
С моим кодом вся LI кликабельна, она открывает ссылку a, найденную в ней. Я сохранил средний щелчок мыши, чтобы открыть ссылку в новом окне.
-
Мне интересно, если кто-то, кто действительно на самом деле знает, что они делают. можете направлять меня в этом и дайте мне знать если это лучший способ писать это, или есть изменения, которые можно было бы внести в мой код?
-
Также: может кто-то помогите мне добавить а "ctrl+щелчок левой кнопкой мыши", чтобы открыть ссылку в новом окне, которое то же самое вещь средняя-щелчок Кнопкой Мыши делает, я просто не знаю, как проверить для ctrl? Я думал, что меняю
else if ((e.which == 2)) {
часть кelse if ((e.which == 2) && (e.which == 16)) {
будет работать, но это не так.
Код:
$('li a').each(function() {
$(this).parent().bind('click', function(e) {
if((e.which == 1)) {
alert('left mouse button clicked')
window.location=$(this).find("a").attr("href"); return false;
}
else if ((e.which == 2)) {
alert('middle mouse button clicked')
window.open($(this).find('a').attr('href'));
return false;
}
});
});
1 ответ:
Вот ваше руководство по определению того, какие клавиши нажимаются (это все через входящее событие): http://www.quirksmode.org/js/keys.html
Обратите внимание, что в OSX это невозможно в большинстве браузеров.