W3C
var e = document.createEvent('TouchEvent');
तब के अनुसार, भी बदल
e.initMouseEvent();
को
e.initTouchEvent();
आप के रूप में ' हमने touchstart
ईवेंट बनाया है।
W3C लिंक का कहना है:
Some user agents implement an initTouchEvent method as part of the TouchEvent interface. When this method is available, scripts can use it to initialize the properties of a TouchEvent object, including its TouchList properties (which can be initialized with values returned from createTouchList). The initTouchEvent method is not yet standardized, but it may appear in some form in a future specification.
तो तुम e.initUIEvent('touchstart', true, true);
इसके अलावा का सहारा लेना पड़ सकता है होगा, अधिकारी कल्पना भी कहा गया है कि TouchList
वस्तु वैकल्पिक है, और मैन्युअल रूप से बनाया जा सकता है createTouchList
विधि का उपयोग कर। उस सूची में एक स्पर्श जोड़ने के लिए, आप createTouch
विधि है, जहां आप सभी निर्देशांक और पास भेज देंगे फोन करना होगा इस तरह:
6.1 Methods
#createTouch
Creates a Touch object with the specified attributes.
Parameter | Type | Nullable | Optional | Description
view | WindowProxy | ✘ | ✘ |
target | EventTarget | ✘ | ✘ |
identifier| long | ✘ | ✘ |
pageX | long | ✘ | ✘ |
pageY | long | ✘ | ✘ |
screenX | long | ✘ | ✘ |
screenY | long | ✘ | ✘ |
Return type: Touch
#createTouchList
Creates a TouchList object consisting of zero or more Touch objects. Calling this method with no arguments creates a TouchList with no objects in it and length 0 (zero).
Parameter | Type | Nullable | Optional | Description
touches | Touch | ✘ | ✔ |
Return type: TouchList
यदि वह काम नहीं करता है, तो आप इस कोशिश कर सकते:
var e = document.createEvent('UIEvent');
e.initUIEvent();
काम करना चाहिए, यह createEvent('MouseEvent')
किसी भी दर की तुलना में अधिक समझ में आता है ...
लेकिन परीक्षण प्रयोजनों के लिए, क्यों नहीं अपने क्रोम कंसोल खोलें तथा Emulate touch events
जाँच, प्लस Android में 4. उपयोगकर्ता एजेंट को ओवरराइड (Ctrl + Shift + जे> गियर नीचे दाएं कोने पर क्लिक करें, और ओवी का चयन करें errides, वहाँ आप आप की जरूरत सभी सेटिंग्स)
अभी तक मिल जाएगा के बाद से स्पर्श घटनाओं एक लंबा रास्ता तय करने के लिए, अभी भी उनके मानकीकृत बनने के संदर्भ में है, यह पता चला है touches
संपत्ति आरओ नहीं है (?), तो आप इस जल्दी ठीक (ओ पी पाया जाता है और वांछित परिणाम के साथ प्रयोग किया है) का उपयोग कर सकते हैं:
var e = document.createEvent('TouchEvent');
e.touches = [{pageX: pageX, pageY: pageY}];
कौन सा, मुझे लगता है कि (मैं इस पर विश्वास नहीं कर सकते हैं अगर यह मामला नहीं थे) है तेजी से:
e.touches = e.createTouchList(
e.createTouch(window, target, 0, pageX, pageY, screenX, screenY)
);
सिर्फ सैनिटी के लिए, आपको एक कार्यक्रम उत्पन्न करने की आवश्यकता क्यों है? – Halcyon
अच्छा, मान लें कि मेरे पास एक कंटेनर है। इस कंटेनर में कई उप-संयोजक हैं जो छुपाए गए हैं। जब मैं इस कंटेनर पर स्पर्श करता हूं, तो एक उप-संयोजक दिखाई देता है, और जब तक मैं कंटेनर को स्पर्श करता हूं, तो मुझे अपनी अंगुली को स्थानांतरित करके उप-संयोजक को स्थानांतरित करने में सक्षम होना चाहिए। इसलिए जब मैं कंटेनर पर स्पर्श करता हूं, तो उप-संयोजक पर 'टचस्टार्ट' ईवेंट बनाया जाना चाहिए। – AndreM96
ऐसा लगता है कि घटनाओं को फेंकने के बिना कुछ करना आसान होना चाहिए। यदि आपका मॉडल कंटेनर निर्भरता के बारे में जानता है तो आप सभी मूल ईवेंट से नियंत्रित कर सकते हैं। – Halcyon