2012-04-09 13 views
9

में ईवेंट आयोजित करने का तरीका jQuery का उपयोग करके एकाधिक कुंजीपटल अनुकरण करने का एक तरीका ढूंढ रहे हैं। उदाहरण के लिए एएलटी + एफ 1 (alt को दबाकर और एफ 1 मारना)। कुछ इस तरह के लिए खोज रहे Definitive way to trigger keypress events with jQueryएकाधिक कुंजीपटल ट्रिगर करने और jQuery

:

मैं के लिए F1 कुंजी दबाने धन्यवाद अनुकरण करने के लिए प्रबंधित किया है

$(".f1").click(function() { 
    var e = jQuery.Event("keydown"); 
    e.keyCode = 18; // ALT key pressed 
    // while ALT key is pressed, hit the F1 Key 
    $("input").trigger(e, function(){ 
     var e = jQuery.Event("keydown"); 
     e.which = 112; // F1 key 
     $("input").trigger(e); 
     }); 
}); 
+1

इस पोस्ट पर एक नज़र डालें। आशा करता हूँ की ये काम करेगा। http://stackoverflow.com/questions/4604057/jquery-keypress-ctrlc-or-some-combo-like-that –

उत्तर

18
संशोधक कुंजियों alt, ctrl साथ

, और shift, आप घटना का उपयोग कर सकते विशेष रूप से उनके लिए संशोधक:

$(".f1").click(function() { 
    var e = jQuery.Event("keydown"); 
    e.which = 112;  // # F1 code value 
    e.altKey = true;  // Alt key pressed 
    $("input").trigger(e); 
}); 

डेमो: http://jsfiddle.net/jtbowden/2kcrg/

+0

तेजी से और trikly –

2
  1. आप कुंजीपटल घटनाओं को अनुकरण नहीं कर सकते हैं, तो आप केवल उनसे जुड़े जावास्क्रिप्ट हैंडलर को ट्रिगर कर सकते हैं। तो बस एक ऐसा फ़ंक्शन लिखने पर विचार करें जो आपके कुंजीपटल को क्या करना चाहता है, जिसमें कुंजीपटल हैंडलर कॉल कार्य करता है, और उसी कार्य को कॉल करके अन्य स्थानों पर कीपर को "अनुकरण" करें।
  2. यदि आप वास्तव में एएलटी-F1 और इसी तरह के अनुकरण करना चाहिए, आप keypress स्थिति में अन्य गुण (जैसे altKey या metaKey), और/या संशोधक कुंजी की प्रेस के लिए पहले ट्रिगर keydown घटना (JQuery/फ़ायरफ़ॉक्स में निर्धारित करने की आवश्यकता , दबाकर ALT मुझे ईवेंट e.which == 18 के साथ देता है।)। दिन के अंत में आपको केवल उन्हीं घटनाओं को बनाने की आवश्यकता होती है जिन्हें आपके हैंडलर जवाब देते हैं।
+0

एक अच्छा पढ़ा साहब। –

संबंधित मुद्दे