मैं एक साधारण जावास्क्रिप्ट अभ्यास के साथ संघर्ष कर रहा हूं, एक वेनिला ड्रैग और ड्रॉप लिख रहा हूं।सरल ड्रैग और ड्रॉप कोड
var ele = document.getElementsByClassName ("target")[0];
var stateMouseDown = false;
//ele.onmousedown = eleMouseDown;
ele.addEventListener ("onmousedown" , eleMouseDown , false);
function eleMouseDown() {
stateMouseDown = true;
document.addEventListener ("onmousemove" , eleMouseMove , false);
}
function eleMouseMove (ev) {
do {
var pX = ev.pageX;
var pY = ev.pageY;
ele.style.left = pX + "px";
ele.style.top = pY + "px";
document.addEventListener ("onmouseup" , eleMouseUp , false);
} while (stateMouseDown === true);
}
function eleMouseUp() {
stateMouseDown = false;
document.removeEventListener ("onmousemove" , eleMouseMove , false);
document.removeEventListener ("onmouseup" , eleMouseUp , false);
}
के लिए धन्यवाद विस्तृत उत्तर मैं mousemove के लिए Do while का उपयोग कर रहा था, जबकि mousedown सक्रिय है, अन्यथा यह नहीं चलना चाहिए ... अगर मैं Do जबकि लूप सक्षम करता हूं, तो फ़ायरफ़ॉक्स हालांकि रुकावट में आता है। – Kayote
@ कायोट I gotcha, हालांकि यह आवश्यक नहीं होगा कि 'mousemove' ईवेंट कितनी बार 'eleMouseMove() ' – iRector
पर कॉल करता है, मैंने इसे अपनी आवश्यकता के लिए थोड़ा अपडेट किया। यह दूसरों के लिए भी उपयोगी हो सकता है, इस प्रकार http://jsfiddle.net/kjwLe9bq/ साझा करना। – Savaratkar