¿Cómo puedo escribir un controlador onclick que hace una cosa para los clics regulares y otra cosa para los clics de cambio?En un controlador onclick, ¿cómo puedo detectar si se presionó shift?
17
A
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
- 1. ¿Cómo saber qué tecla SHIFT se presionó?
- 2. ¿Cómo puedo detectar que se haya presionado la tecla Shift?
- 3. ¿Cómo saber si se presiona Shift en un evento MouseDown?
- 4. Teclee la tecla presionó controlador de eventos
- 5. Agregue un controlador OnClick con jQuery solo una vez, incluso si se vuelve a llamar
- 6. ¿Verificar si se presionó la tecla Atrás en Android?
- 7. ¿Cómo puedo detectar si hay un disquete en una unidad?
- 8. ¿Puedo usar un cierre en un controlador de eventos (es decir, TButton OnClick)
- 9. ¿Cómo puedo detectar si Dispatcher.DisableProcessing está activo?
- 10. ¿Cómo verificar desde un programa en segundo plano si se presionó la tecla o la combinación?
- 11. ¿Cómo puedo detectar onclick() o similar para caracteres individuales en un texto?
- 12. UIViewController para saber si se presionó o apareció?
- 13. ¿Cómo puedo detectar si un iframe está cargado?
- 14. ¿Cómo puedo detectar si un selector devuelve nulo?
- 15. Cómo detectar si se presiona alguna tecla
- 16. Voltear la animación cuando el controlador presionó en el iPhone
- 17. ¿Cómo puedo detectar si ApplyUpdates insertará o actualizará datos?
- 18. Averiguar si el usuario presionó el botón Atrás en uinavigationcontroller?
- 19. ¿Cómo puedo detectar si un navegador es compatible con MJPEG?
- 20. ¿Cómo puedo detectar si un control ActiveX está cargado?
- 21. cómo puedo detectar si tengo un iPhone 2G, 3G, 3GS
- 22. ¿Cómo se puede definir qué botón se presionó si ambos tienen el mismo IBAction?
- 23. ¿Cómo puedo detectar si mi programa se ejecuta en un entorno de Active Directory?
- 24. ¿Determinar qué botón se presionó en Tkinter?
- 25. Cómo detectar si se toca la imagen
- 26. ¿Cómo puedo detectar si estoy ejecutándose en la consola?
- 27. Detectar en C si se está enviando a un terminal
- 28. JQuery o JavaScript: ¿Cómo se determina si se presionó la tecla Mayús mientras se hace clic en el hipervínculo de etiqueta de ancla?
- 29. ¿Por qué se bloquea mi programa cuando destruyo un botón en su propio controlador OnClick?
- 30. Selenium IDE - JQuery controlador onclick no activado