2011-08-30 19 views
8

Básicamente, quiero abrir un menú contextual con el clic izquierdo. ¿Hay alguna forma de hacerlo usando jQuery?¿Cómo puedo activar el clic derecho si dejó clic en algún elemento html usando jQuery?

+0

Posible duplicado: http://stackoverflow.com/questions/6250447/trigger-right-click –

+0

@James Allardice: -Estas respuestas no funcionan en mi caso. Ya lo he intentado, entonces solo he publicado esta pregunta. –

+0

Funciona para mí (al menos en Chrome): http://jsfiddle.net/interdream/EvZSA/3/ –

Respuesta

6

No puede. JavaScript no tiene ese acceso al navegador. En su lugar, puede crear su propio menú contextual personalizado e intentar darle las elecciones de comportamiento que desee del menú contextual normal (Atrás, Adelante, etc.). Por supuesto, algunos de ellos pueden estar restringidos (como copiar/pegar).

http://labs.abeautifulsite.net/projects/js/jquery/contextMenu/demo/

1

puede registrar evento de botón derecho del ratón y el gatillo cualquier evento que desee realizar el clic derecho.

1

No se puede activar el botón derecho del ratón, pero puede desencadenar una pulsación de tecla usando .trigger()

Shift + F10 debería desencadenar el menú contextual en Windows, algo así como ...

function openContextMenu() { 
    jQuery.event.trigger({ type: 'keypress', which: 121, shiftKey: true }); 
} 

También hay una tecla de menú contextual (a la derecha antes CTRL de 104+ teclados clave) que I think might ser keycode 93:

function openContextMenu() { 
    jQuery.event.trigger({ type: 'keypress', which: 93 }); 
} 

Actualización

En realidad, estos simplemente simulan el evento: cualquier evento JS para ese evento dispara, pero la clave real no se envía.

Usted puede hacer esto con un objeto ActiveX:

// ActiveX object 
var shell = new ActiveXObject("WScript.Shell"); 

// Send SHIFT+F10 
shell.SendKeys("+{F10}"); 

Sin embargo ese componente está marcado como no seguro para secuencias de comandos y es solo para IE, por lo que la solución sólo es realmente práctico para intranets y similares.

+0

No pude hacer funcionar ninguna de estas soluciones. ¿Los probaste? –

+0

@Jason Dean - no, realmente son solo un punto de partida, pero pensé que valía la pena contribuir. – Keith

Cuestiones relacionadas