आप मुख्य घटनाएं भेज सकते हैं, और उनके लिए कुछ भी सुनकर उन्हें मिल जाएगा, लेकिन वे इनपुट नहीं बदलेंगे, इसलिए आपको A
अक्षर दिखाई नहीं देगा, उदाहरण के लिए। यह ज्यादातर एक सुरक्षा चीज है; इसके बारे में चर्चा के लिए "Manually firing events" देखें।
तो, यदि आप पत्र दिखाना चाहते हैं, तो आपको महत्वपूर्ण ईवेंट भेजते समय इनपुट के मूल्य को बदलना होगा। इसके लिए एक jQuery प्लगइन है, "The $.fn.sendkeys
Plugin" देखें।
आप देख सकते हैं कि <input>
उपयोगकर्ता द्वारा लागू कुंजी, कुंजी घटनाओं और उस प्लगइन को this jsFiddle पर प्रतिक्रिया करता है।
संदर्भ के लिए, यह है कि jsFiddle से कोड का महत्वपूर्ण भाग है:
$("button").click (function (zEvent) {
if (zEvent.target.id == "simA_plain") {
console.log ("Send Plain key event");
var keyVal = 65;
$("#eventTarg").trigger ({
type: 'keypress', keyCode: keyVal, which: keyVal, charCode: keyVal
});
}
else {
console.log ("Use the Plugin to simulate a keystroke");
$("#eventTarg").sendkeys ("B") ;
}
});
प्लगइन पर्याप्त होना चाहिए कि अगर आप सिर्फ "एक <input>
पर टाइपिंग अनुकरण" करने की कोशिश कर रहे हैं। हालांकि, क्या आप वास्तव में करने का प्रयास कर रहे हैं पर निर्भर करता है, आप एक या निम्न में से अधिक करने के लिए आवश्यकता हो सकती है:
- बस क्या आप इसे होना चाहते करने के लिए पाठ की स्थापना की।
- पृष्ठ की जावास्क्रिप्ट उस से ट्रिगर होने पर
keydown
ईवेंट भेजें।
- इसी तरह, पृष्ठ की जावास्क्रिप्ट उस से ट्रिगर होने पर
change
ईवेंट इत्यादि भेजें।
- बस पृष्ठ के जावास्क्रिप्ट को सीधे ढूंढें और कॉल करें। स्क्रिप्ट इंजेक्शन, स्थान हैक,
unsafeWindow
, और/या @grant none
मोड ऐसा करने के लिए उपयोग करें।
- कुछ और? अपने असली उद्देश्य और लक्ष्य पृष्ठ से लिंक बताएं।
स्रोत
2012-12-19 06:09:34
यह वास्तव में सहायक है :) – shuboy2014