623 Stimmen

Wie man mit jQuery zwischen linkem und rechtem Mausklick unterscheidet

Wie erhalten Sie die angeklickte Maustaste mit jQuery?

$('div').bind('click', function(){
    alert('clicked');
});

Dies wird sowohl durch Rechts- als auch durch Linksklick ausgelöst. Wie kann man den rechten Mausklick abfangen? Ich würde glücklich sein, wenn etwas wie unten existiert:

$('div').bind('rightclick', function(){ 
    alert('right mouse button is pressed');
});

0 Stimmen

1voto

A. K. Punkte 40
$("body").on({
    click: function(){alert("left click");},
    contextmenu: function(){alert("right click");}   
});

0 Stimmen

Sie sollten vielleicht ein paar Details hinzufügen, warum es funktioniert. - Ich stimme zu, dass es funktioniert, aber du erklärst einem Neuling nicht, warum.

0voto

Mümin ZEHİR Punkte 76

Können Sie diesen Code ausprobieren:

event.button

Rückgabewert: Eine Zahl, die angibt, welche Maustaste beim Auftreten des Mausereignisses gedrückt wurde.

Mögliche Werte:

0 : Linke Maustaste 1 : Radtaste oder mittlere Taste (falls vorhanden) 2 : Rechte Maustaste Hinweis: Internet Explorer 8 und früher hat andere Rückgabewerte:

1 : Linke Maustaste 2 : Rechte Maustaste 4 : Radtaste oder mittlere Taste (falls vorhanden) Hinweis: Bei einer für die linke Hand konfigurierten Maus sind die Rückgabewerte vertauscht

0voto

user3361174 Punkte 1
$.fn.rightclick = function(func){
    $(this).mousedown(function(event){
        if(event.button == 2) {
            var oncontextmenu = document.oncontextmenu;
            document.oncontextmenu = function(){return false;};
            setTimeout(function(){document.oncontextmenu = oncontextmenu;},300);
            func(event);
            return false;
        }
    });
};

$('.item').rightclick(function(e){ 
    alert("item");
});

0voto

Ari Punkte 4115

Mit jquery können Sie event object type

jQuery(".element").on("click contextmenu", function(e){
   if(e.type == "contextmenu") {
       alert("Right click");
   }
});

0voto

user2335866 Punkte 11
$(document).ready(function () {
    var resizing = false;
    var frame = $("#frame");
    var origHeightFrame = frame.height();
    var origwidthFrame = frame.width();
    var origPosYGrip = $("#frame-grip").offset().top;
    var origPosXGrip = $("#frame-grip").offset().left;
    var gripHeight = $("#frame-grip").height();
    var gripWidth = $("#frame-grip").width();

    $("#frame-grip").mouseup(function (e) {
        resizing = false;
    });

    $("#frame-grip").mousedown(function (e) {
        resizing = true;
    });
    document.onmousemove = getMousepoints;
    var mousex = 0, mousey = 0, scrollTop = 0, scrollLeft = 0;
    function getMousepoints() {
        if (resizing) {
            var MouseBtnClick = event.which;
            if (MouseBtnClick == 1) {
                scrollTop = document.documentElement ? document.documentElement.scrollTop : document.body.scrollTop;
                scrollLeft = document.documentElement ? document.documentElement.scrollLeft : document.body.scrollLeft;
                mousex = event.clientX + scrollLeft;
                mousey = event.clientY + scrollTop;

                frame.height(mousey);
                frame.width(mousex);
            }
            else {
                resizing = false;
            }
        }
        return true;

    }

});

0 Stimmen

@Nitin.Katti :- Dies ist Arbeit auf Maus-Punkt und linke Taste klicken, wenn die linke Taste der Maus einfrieren, dann stoppen sie die re sizing.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X