如何在firefox上用jQuery区分鼠标左键和右键

时间:2014-05-12 07:12:07

标签: javascript jquery internet-explorer google-chrome firefox

此代码100%用于谷歌Chrome浏览器"但它没有工作" 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");
    });

2 个答案:

答案 0 :(得分:0)

改为使用mouseupmousedown

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

Here is a jsFiddle.

答案 1 :(得分:0)

使用mousedown事件,而不是单击,使用mousedown事件,右键单击打开上下文菜单,您需要使用鼠标按下而不是鼠标单击,否则在右键单击后阻止事件冒泡,

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

Here是一个小小的小提琴演示,可以帮助你。