mouseUp
या touchEnd
पर मैं उस तत्व का संदर्भ प्राप्त करना चाहता हूं जिस पर यह घटना हुई थी।माउसअप की तरह व्यवहार करने के लिए touchEnd कैसे प्राप्त करें?
इस उदाहरण में, आप एक ही तत्व, खींचें माउस और एक अन्य तत्व पर जारी किया गया पर क्लिक करने की जरूरत। जब माउस जारी किया जाता है, तो उस तत्व की पृष्ठभूमि लाल हो जाएगी। मेरा कोड माउस घटनाओं के लिए सही तरीके से काम करता है, लेकिन स्पर्श उपकरणों पर नहीं।
जब touchStart
एक तत्व पर है और दूसरी तत्व पर उंगली जारी की गई है, तो मुझे केवल पहले तत्व का संदर्भ मिल रहा है।
स्पर्श घटनाओं को माउस घटनाओं की तरह बिल्कुल काम करने के लिए मुझे क्या बदलने की ज़रूरत है?
var isMouseDown = false;
var panel1 = document.getElementById('panel1');
var panel2 = document.getElementById('panel2');
panel1.onmousedown = onDocumentMouseDown;
panel1.onmouseup = onDocumentMouseUp;
panel1.onmousemove = onDocumentMouseMove;
panel1.addEventListener('touchstart', onDocumentTouchStart, false);
panel1.addEventListener('touchmove', onDocumentTouchMove, false);
panel1.addEventListener('touchend', onDocumentTouchEnd, false);
panel2.onmousedown = onDocumentMouseDown;
panel2.onmouseup = onDocumentMouseUp;
panel2.onmousemove = onDocumentMouseMove;
panel2.addEventListener('touchstart', onDocumentTouchStart, false);
panel2.addEventListener('touchmove', onDocumentTouchMove, false);
panel2.addEventListener('touchend', onDocumentTouchEnd, false);
function onDocumentMouseDown(event) {
event.preventDefault();
panel1.style.background="#2E442E";
panel2.style.background="#5D855C";
}
function onDocumentMouseUp(event) {
event.preventDefault();
this.style.background="#ff0000";
}
function onDocumentMouseMove(event) {
}
function onDocumentTouchStart(event) {
event.preventDefault();
panel1.style.background="#2E442E";
panel2.style.background="#5D855C";
}
function onDocumentTouchMove(event) {
}
function onDocumentTouchEnd(event) {
event.preventDefault();
this.style.background="#ff0000";
}
आपने किस टच डिवाइस की कोशिश की है (मतलब) – shareef
** इसी प्रकार का प्रश्न ** [वास्तविक घटना को कैसे ढूंढें। टचमोव जावास्क्रिप्ट ईवेंट का लक्ष्य कैसे करें?] (Http://stackoverflow.com/q/3918842/351708) – Rohit