2010-04-15 5 views
0

je l'ai fait beaucoup de recherches sur cela, mais suis venu les mains vides. Ce que je voudrais faire, c'est invoquer ou créer un événement pour la touche fléchée droite (Key Code 39). Je prévoyais d'utiliser un événement onclick dans une balise pour aller à une fonction où cet événement pourrait être «tiré». Toute aide serait appréciée. Si quelqu'un a besoin de contexte, j'ai un curseur de contenu jQuery dont la fonctionnalité est très difficile à modifier et actuellement la fonctionnalité que j'ai besoin d'émuler ne se produit que lorsqu'un utilisateur frappe la flèche droite de son clavier. Ce que je voudrais faire est attacher un événement onclick() à une image que lorsque vous cliquez dessus sur les feux de l'événement droite du clavier et le contenu glisseront. S'il vous plaît laissez-moi savoir si je peux fournir plus de détails ou d'explications.mise à feu d'un événement de clavier au corps

Ma démonstration de travail pour cela est: http://greenplanet3d.com

Répondre

0

Je vais aller avec « il est impossible d'imiter l'entrée du clavier ». Cela ouvrirait un trou de sécurité béant de toute façon.

Fix votre script au lieu d'aller pour un bidouille laid. Cette chose curseur semble si simple qu'il ne va pas prendre beaucoup de temps pour réécrire à partir de zéro de toute façon, si la fonctionnalité est vraiment « très difficile à modifier ».

+0

Je crois que c'est probablement la meilleure idée, le temps d'apprendre un peu jQuery ... Merci pour tout le monde réponses! – user317985

0

Je ne sais pas si vous vouliez dire, mais vous pouvez lier événement « KEYDOWN » sur le document comme celui-ci:

$(document).bind('keydown', function fn(event) 
{ 
    if (event.keyCode == 39) 
    { 
     alert('event'); 
    } 
}); 
0

Je pense que vous allez sur ce dans le mauvais sens. Au lieu d'attacher l'action à l'événement clavier, j'écrirais une fonction pour gérer le code de transition.

De cette façon, à la fois l'événement du clavier et l'événement clic peut appeler la même fonction.

Si vous avez absolument besoin d'invoquer l'événement, vous pouvez le faire avec trigger de jquery.

var keydown_event = jQuery.Event("keydown"); 
keydown_event.which = 39; 
$('#my-image').trigger(keydown_event); 
Questions connexes