2013-04-20 8 views
7

Definitive Trigger Keypress jQuery thread पर साथ वहाँ जवाब के लिए कोई काम कर JSFiddle, और कोड है कि वहाँ मेरे लिए काम नहीं करता है।उत्प्रेरक कीप्रेस jQuery

$("button").click(function() { 
    $("input").focus(); 
    var e = jQuery.Event("keydown"); 
    e.which = 77; // # Some key code value 
    $("input").trigger(e); 
}) 

मेरे कोड है और यहाँ मेरी बेला है http://jsfiddle.net/Z8adb/

क्लिक पर, एक एम इनपुट में दिखाई देनी चाहिए, के रूप में इनपुट फ़ोकस और 77 ("एम" के कीकोड के साथ एक keydown होने दिया जाता है) इस पर ट्रिगर किया।

कोई विचार?

संपादित करें: इस के लिए मेरे असली उद्देश्य क्रम प्रोग्राम के रूप में वीडियो को म्यूट करने के लिए पर एक उदात्त वीडियो एक "एम" हॉटकी को गति प्रदान करने के लिए है। यह सुनिश्चित करने का मेरा पहला कदम था कि मैं "एम" कुंजी को ठीक से फायर कर रहा था, जिसे मैं स्टैक ओवरफ्लो की मदद से कर रहा हूं। हालांकि, मैं अभी भी वीडियो पर प्रोग्रामेटिक रूप से आग लगाने के लिए एक घटना प्राप्त करने में सक्षम नहीं हूं। मुझे लगता है कि यह सब्लिमे वीडियो के साथ सिर्फ एक समस्या है, लेकिन मुझे यकीन नहीं है, और कुंजीपेशियों और क्लिकों को मजबूर करने पर किसी के विचार सुनना बहुत ही अच्छा होगा।

+0

कि समस्या क्या है। आपका कीडाउन ट्रिगर नहीं हो रहा है? – PSL

+0

अच्छा बिंदु, मुझे प्रश्न को और स्पष्ट होने के लिए संपादित करें। –

+1

http://jsfiddle.net/M8RxB/ आपके कोड में कुछ भी गलत नहीं है क्योंकि आप ईवेंट को फायरिंग देख सकते हैं, आपको मैन्युअल रूप से AFAIK मान दर्ज करना होगा। –

उत्तर

12

ट्रिगर का उपयोग करके आप सिर्फ एक कीकोड के साथ घटना को ट्रिगर कर रहे हैं, लेकिन पाठ बॉक्स के लिए मान निर्दिष्ट नहीं। इस प्रयास करें: - http://jsfiddle.net/PbHD2/

String.fromCharCode

$("button").click(function() { 
    $("input").focus(); 
    var e = jQuery.Event("keydown"); 
    e.which = 77; // # Some key code value 
    $("input").val(String.fromCharCode(e.which)); 
    $("input").trigger(e); 
}); 
$('input').keydown(function(e){ 
    console.log('Yes keydown triggered. ' + e.which) 
}); 
+0

मैं इसकी सराहना करता हूं, लेकिन समस्या $ ('इनपुट') है। ट्रिगर (ई) को उस उदाहरण में भी होने की आवश्यकता नहीं है। हालांकि यह एक अच्छा जवाब है। जी –

+0

मुझे आप इस पूछते हैं: क्या आपको लगता है $ ("इनपुट ') keydown (समारोह (ई)) सही ढंग से फायरिंग कर रहा है –

+1

keydown साथ किसी भी मुद्दे नहीं देखी जा सकी .... आप के साथ कुछ भी दिखाई दे रही है।? keydown फायरिंग नहीं? – PSL

1

SublimeVideo एक एचटीएमएल 5 खिलाड़ी, सही है। यदि ऐसा है, तो आप एक संपत्ति का उपयोग करके इसे म्यूट कर सकते हैं, है ना?

$("video#yourVideoTagId").prop("muted", true); 
+0

हाँ I पहले से ही यह है, लेकिन जो मैं करना चाहता था वह वास्तव में सब्लिम के माध्यम से संभाला गया था, क्योंकि उनके म्यूट फ़ंक्शन वास्तव में वॉल्यूम (और वॉल्यूम से जुड़े जीयूआई) को 0 पर ले जाता है, इसलिए इसमें बहुत सारी यूएक्स सामग्री होगी I कार्य को ट्रिगर करने के लिए इसे बाहर करना होगा। –

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