2009-04-06 8 views

Respuesta

39

Puede ver la propiedad shiftKey del evento click.

window.addEventListener("click", 
 
    function(e) { 
 
    if (e.shiftKey) console.log("Shift, yay!"); 
 
    }, 
 
    false);
<p>Click in here somewhere, then shift-click.</p>

2

El evento disparado desde el DOM debe contener un shiftKey (o equivalente) propiedad que indica el estado de la tecla de mayúsculas cuando se activa el evento; ver, p. https://developer.mozilla.org/en/DOM/event.shiftKey para un ejemplo.

Si está utilizando una biblioteca de envoltura JavaScript/DOM como YUI, Prototype o jQuery, las diferencias en la implementación no deberían ser un problema.

3

Debe asegurarse de pasar event como parámetro a su función onclick. Puede pasar otros parámetros también.

<html> 
<head> 
    <script type="text/javascript"> 
     function doSomething(event, chkbox) 
     { 
      if (event.shiftKey) 
       alert('Shift key was pressed while picking ' + chkbox.value); 
      else 
       alert('You picked ' + chkbox.value); 
     } 
    </script> 
</head> 
<body> 
    <h3>Pick a Color</h3> 
    <input type="radio" name="myColors" onclick="doSomething(event, this)" value="Red" /> Red<br/> 
    <input type="radio" name="myColors" onclick="doSomething(event, this)" value="Green" /> Green<br/> 
    <input type="radio" name="myColors" onclick="doSomething(event, this)" value="Blue" /> Blue<br/> 
</body> 
</html> 
Cuestiones relacionadas