CanJS right click event

262 Views Asked by At

how can I bind a right click event in CanJS?

I've attempted the following, but I guess click only captures left clicks (as ev.which doesn't log 3 on right clicks).

'.btn click': function (el, ev) {
    console.log(ev.which);
    switch(ev.which) {
        case 1:
            var val = 1;
            break;
        case 3:
            ev.preventDefault();
            var val = -1;
            break;
    }
    var item = can.data(el.closest('tr'), 'item');
    item.attr('rel', item.rel + val);
}
2

There are 2 best solutions below

0
On

I think you were looking for contextmenu event: https://developer.mozilla.org/en/docs/Web/Events/contextmenu

You can use this in CanJS events:

'.btn contextmenu': function (el, ev) {
     // your code
}
1
On

I don't know what CanJS is, but I would use oncontextmenu:

elem.oncontextmenu = function(e) {
    e = e || window.event;

    if(e.preventDefault) e.preventDefault();
    e.returnValue = false;

    // Your code
};