नोट this प्रश्न। मैं देखता हूं कि टैब कीप्रेस ईवेंट को ट्रिगर करने के अलावा अन्य दृष्टिकोण भी हैं, लेकिन मैं अभी भी जानना चाहता हूं कि टैब कुंजी प्रेस ईवेंट ट्रिगर करने से अगले इनपुट फ़ील्ड पर फ़ोकस नहीं होता है।टैब इनपुट को अनुकरण क्यों नहीं करता है अगले इनपुट फ़ील्ड पर फ़ोकस करें?
एचटीएमएल
<textarea></textarea>
<textarea></textarea>
<textarea></textarea>
जे एस
$('textarea').on('keydown', function(e) {
if (e.metaKey && e.which === 40) {
console.log('test');
$(this).trigger({
type: 'keypress',
which: 9
});
}
});
तो घटना में '.trigger()' ईवेंट नहीं है ... मैन्युअल रूप से ईवेंट को ट्रिगर करना? यह भ्रामक है। या क्या मुझे कुछ याद आ रहा है? –
कोई विचार क्यों [यह] (http://codepen.io/anon/pen/yYNLjE?editors=101) काम नहीं कर रहा है? जिस पृष्ठ से आपने लिंक किया है [कहता है] (https://learn.jquery.com/events/triggering-event-handlers/#how-can-i-mimic-a-native-browser-event-if-not-trigger) "... प्रोग्रामेटिक रूप से एक ऐसी घटना बना सकता है जो वास्तव में व्यवहार करता है जैसे किसी के पास वास्तव में ..."। मैंने यह सब कुछ किया [https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events) मार्गदर्शिका, लेकिन ऐसा लगता है कि यह काम नहीं कर रहा है। –
@AdamZerner यह वास्तव में थोड़ा सा भ्रामक है, ['KeyEvents'] (https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent) के लिए प्रलेखन में। पृष्ठ के निचले हिस्से में एक नोट है जो उल्लेख करता है: * "ध्यान दें कि किसी ईवेंट को मैन्युअल रूप से फायर करना उस घटना से जुड़ी डिफ़ॉल्ट क्रिया उत्पन्न नहीं करता है। उदाहरण के लिए, मैन्युअल रूप से एक महत्वपूर्ण ईवेंट को फायर करने से उस पत्र को फ़ोकस में प्रकट नहीं किया जाता है यूआई घटनाओं के मामले में, सुरक्षा कारणों से यह महत्वपूर्ण है, क्योंकि यह स्क्रिप्ट को उपयोगकर्ता क्रियाओं को अनुकरण करने से रोकता है जो ब्राउज़र के साथ बातचीत करता है। "* –