2011-04-19 35 views
8

मैं परीक्षण सुविधाओं के उद्देश्य के लिए उपयोगकर्ता इंटरैक्शन को अनुकरण करने के लिए अपने जावास्क्रिप्ट में स्पर्श घटनाओं को आग लगाने की कोशिश कर रहा हूं।एक स्पर्श सक्षम ब्राउज़र पर स्पर्श घटनाओं को बनाना और फायर करना?

try { 
    var targetElement = document.elementFromPoint(55, 155); 
    console.log(targetElement); 
    var evt = document.createEvent('UIEvent'); 
    evt.initTouchEvent('touchstart', true, true); 

    evt.view = window; 
    evt.altKey = false; 
    evt.ctrlKey = false; 
    evt.shiftKey = false; 
    evt.metaKey = false; 

    targetElement.dispatchEvent(evt); 
} catch (except){ 
    alert(except); 
} 

ऊपर कोड अपवाद फेंकता है: मैं निम्नलिखित स्निपेट की कोशिश की है 'लेखन त्रुटि: अभिव्यक्ति का परिणाम' evt.initTouchEvent [अपरिभाषित] 'एक समारोह नहीं है।'

क्या कोई यह बता सकता है कि मैं क्या गलत कर रहा हूं?

उत्तर

9

w3c touch spec के अनुसार, TouchEvent UIEvent का उप-वर्ग है। यह पसंद बनाने का प्रयास करें:

var evt = document.createEvent('TouchEvent'); 
+0

की कोशिश की और अब भी वही अपवाद। UIEvent ऑब्जेक्ट _is बनाया_ क्या मैं एकवचन या बहुवचन का उपयोग करता हूं। – prk

+0

@ आशु मैंने एवर संपादित किया। – vbence

+0

मेरे पास अभी परीक्षण करने के लिए कोई डिवाइस नहीं है। कल परीक्षण और अद्यतन करेंगे। – prk

5

परिवर्तन:

evt.initTouchEvent('touchstart', true, true); 

रहे हैं:

evt.initUIEvent('touchstart', true, true); 

रात क्रोम के साथ मेरे लिए काम किया निर्माण

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