Как различить левый и правый щелчок мышью с помощью jQuery на firefox [duplicate]

0

этот код работает на "% google Chrome Browser" на 100%, но он не работает на "Firefix", как я решаю эту проблему?

    $(".one_post").click(function() {

    switch (event.which) {
        case 1:
            window.document.location = $(this).attr("href");
            break;
        case 2:
            $(this).target = "_blank";
            window.open($(this).attr("href"));
            break;
        }
    });

     $(".os_new_ads_lis_city").click(function() {
        window.document.location = $(this).attr("href");
    });

     $(".os_new_ads_list_category").click(function() {
    window.document.location = $(this).attr("href");
    });
  • 0
    В частности, для Firefox используйте event.button , но не ожидайте, что он будет надежным (или даже реализованным) в других браузерах.
  • 0
    спасибо, но я пробую event.button и он не работает
Показать ещё 1 комментарий
Теги:
internet-explorer
google-chrome
firefox

2 ответа

0
Лучший ответ

Вместо щелчка используйте событие mousedown, так как щелчок правой кнопкой мыши открывает контекстное меню, вам нужно использовать мышь, а не щелкнуть мышью, иначе предотвратить пузырек событий после щелчка правой кнопкой мыши,

$('#btn').on("mousedown",function(e){
    //  your code
});

Вот небольшая демонстрационная версия мыши, которая поможет вам.

0

Вместо этого используйте mouseup или mousedown:

$('.one_post').mouseup(function() {
    switch (event.which) {
        case 1:
            alert('Left');
            break;
        case 2:
            alert('Middle');
            break;
        case 3:
            alert('Right');
            break;
    }
});

Вот jsFiddle.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню