คอมพิวเตอร์ Windows อินเทอร์เน็ต

เทคโนโลยีการลากและวางใน Android เทคนิค Drag-n-Drop โดยใช้ jQuery การลากและวางคืออะไร

วิธีที่ง่ายที่สุดคือนำบางสิ่งมาวาง มากกว่าที่จะเขียน จะเอาอะไรไป และวางไว้ที่ไหน แน่นอนว่าหากไม่มีเมาส์หรืออุปกรณ์ที่คล้ายกัน คุณไม่สามารถเลือกสิ่งใดและไม่ระบุสิ่งใดได้ แต่แม้ในสถานการณ์ปัจจุบัน การใช้แนวคิด "ลากแล้วปล่อย" นั้นเป็นธรรมชาติและสะดวกสบายมาก

ขอบเขตของแนวคิดอยู่ไกลจากร้านค้าออนไลน์เท่านั้น ห้องสมุดดิจิทัล, ระบบค้นหาหรือข้อมูล แต่ยังรวมถึงฟิลด์ที่นำไปใช้ แนวคิดนี้นำไปใช้ได้มากในการพัฒนาไซต์และองค์ประกอบของไซต์ ซึ่งสร้างและบำรุงรักษาแบบโต้ตอบ โดยไม่ต้องมีส่วนร่วมของโปรแกรมเมอร์

คำอธิบายของความคิด

เลือก ย้าย และวาง - แนวคิดนี้เป็นธรรมชาติและสะดวก น่าแปลกใจที่เมาส์ไม่ถือกำเนิดขึ้นเมื่อกลายเป็นอุปกรณ์เสริมสำหรับคอมพิวเตอร์ที่ขาดไม่ได้

ตัวอย่างที่ชัดเจนที่สุดคือการเลือกผลิตภัณฑ์ในร้านค้าออนไลน์ การนำเมาส์ไปหยิบสินค้าที่ต้องการแล้วลากลงในตะกร้าสินค้านั้นเรียบง่าย เป็นธรรมชาติ และสะดวก การอัปโหลดไฟล์: การนำเอกสารออกนอกหน้าต่างเบราว์เซอร์และวางไว้บนองค์ประกอบของหน้า จึงเป็นแนวคิดที่นำไปใช้ได้จริงในการถ่ายโอนเอกสารไปยังเซิร์ฟเวอร์

สำหรับนักพัฒนา แนวคิดของ "การลากและวาง" คือการจัดการองค์ประกอบของหน้าโดยไม่ต้องคำนวณพิกัดและขนาดของแท็กใหม่ด้วยตนเอง ความสามารถในการเลือกองค์ประกอบหลายอย่างและจัดตำแหน่ง ตลอดจนย้ายด้านข้างของแท็กบล็อก

HTML และ CSS เป็นภาษาที่ยอดเยี่ยมสำหรับการอธิบายแท็กและสไตล์ แต่เมื่อนักพัฒนามีความสามารถในการจัดการองค์ประกอบของหน้าแบบโต้ตอบโดยไม่ต้องคำนวณพิกัดและขนาดใหม่ด้วยตนเอง สิ่งนี้จะทำให้การทำงานสะดวกสบายและมีประสิทธิภาพมากขึ้น

ถ่ายโอนไฟล์ง่าย ๆ

"ลากแล้วปล่อย": คำแปลจากภาษาอังกฤษเป็นภาษารัสเซียฟังดูว่า "ลากแล้วปล่อย" ในทางปฏิบัติ ฟังดูและทำงานได้ดีขึ้น: เลือก ถ่ายโอน และปล่อย - เรียบง่ายและเป็นธรรมชาติ

มันง่ายมากที่จะนำไปใช้กับเพจที่ถ่ายโอนไฟล์ไปยังเพจ ไปยังเซิร์ฟเวอร์ หรือเพื่อการใช้งานอื่นๆ

วี ตัวอย่างนี้เมาส์เลือกหลายไฟล์บนเดสก์ท็อป (ภาพซ้าย) ในการเลือก ให้กดปุ่มซ้ายของเมาส์และเลือก "ไปที่" ที่ตะกร้า เบราว์เซอร์แสดงให้เห็นว่าสิ่งนี้เกิดขึ้นได้อย่างไร เขียนคำใบ้ "คัดลอก" และสร้างโครงร่างของไฟล์ที่จะย้ายไปรอบๆ

เมื่อหนูอยู่เหนือตะกร้า ผู้มาเยือนก็ปล่อย ปุ่มซ้ายเมาส์ เหตุการณ์ "ลากแล้วปล่อย" เกิดขึ้นและบนหน้าเว็บไซต์ (รูปล่าง) โค้ด JavaScript สามารถรับและประมวลผลไฟล์ทั้งหมดที่ผู้เยี่ยมชมให้ไว้กับหน้า (ไซต์)

คำอธิบายการใช้งาน

รหัสที่ดำเนินการตามขั้นตอนนี้ง่ายมาก แม้แต่นักพัฒนามือใหม่ก็สามารถทำซ้ำได้ในทุกกรณีการใช้งาน

ส่วนต่อประสานผู้ใช้นี้แสดงด้วยแท็กสองแท็ก: scPlaceFile (นี่คือตะกร้าซึ่งคุณต้องวางไฟล์) และ scPlaceFiles (นี่คือผลลัพธ์ของการประมวลผลไฟล์ ในกรณีนี้คือรายการ)

ตรรกะของหน้ามีดังนี้ เมื่อโหลดหน้าเว็บในเบราว์เซอร์ ตัวจัดการเหตุการณ์ "ondrop" ถูกกำหนดไว้ในตะกร้า - เหตุการณ์ที่เหลือจะถูกบล็อกและไม่ได้ใช้

หน้าทำงานในโหมดปกติ แต่ทันทีที่ผู้เยี่ยมชมเลือกไฟล์และลากไปยังรูปภาพตะกร้า นั่นคือไปที่แท็ก scPlaceFile การประมวลผลของเหตุการณ์ "ไฟล์ที่มาถึง" จะเริ่มต้นขึ้น

ตัวจัดการนี้แสดงรายการไฟล์ หมายเลขของพวกเขาอยู่ใน event.dataTransfer.files.length และข้อมูลเกี่ยวกับแต่ละไฟล์อยู่ใน event.dataTransfer.files [i] .name จะทำอย่างไรกับข้อมูลที่ได้รับนั้นถูกกำหนดโดยผู้พัฒนา ในกรณีนี้ รายการของไฟล์ที่ได้รับจะถูกสร้างขึ้นอย่างง่าย ๆ

เมื่อประมวลผลแล้ว กิจกรรมจะถูกบล็อกและไม่เผยแพร่ นี่เป็นสิ่งจำเป็นเพื่อให้เบราว์เซอร์ไม่ประกอบอาชีพอิสระและไม่รบกวนการประมวลผลข้อมูลที่ได้รับ

DnD และข้อมูลภายนอก

การอัปโหลดรูปภาพไปยังเซิร์ฟเวอร์โดยใช้การลากแล้วปล่อยเป็นเรื่องปกติในเทคโนโลยีนี้ โดยทั่วไปแล้ว ผู้พัฒนาจะสร้างแบบฟอร์มการอัปโหลดไฟล์ (1) ที่ทำงานตามปกติ (2) ผู้เข้าชมสามารถเลือกไฟล์และอัปโหลดได้ตามปกติ

อย่างไรก็ตาม หากผู้เยี่ยมชมสถานที่บางแห่งในแบบฟอร์มทำการ "ลากแล้วปล่อย" ฟิลด์ชื่อไฟล์จะถูกกรอกโดยอัตโนมัติ

มัน การตัดสินใจที่ดี... เป็นเรื่องยากมากที่จะยอมรับว่าไม่มีเมาส์ในคอมพิวเตอร์ แต่จะดีกว่าถ้าออกแบบอินเทอร์เฟซผู้ใช้ใน รุ่นธรรมดาและในการใช้งาน DnD

DnD และข้อมูลภายใน

การดูแลผลประโยชน์ของผู้เยี่ยมชมนั้นสำคัญเสมอ แต่ข้อกังวลของผู้พัฒนาก็มีความสำคัญเช่นกัน การลากและวางสามารถทำได้ไม่เพียงแค่วิธีการมาตรฐานเท่านั้น แต่ยังรวมถึงการจัดการเหตุการณ์ของเมาส์บนองค์ประกอบของหน้าด้วย

งานคำนวณค่าพิกัดของแท็กและขนาดของแท็กเกิดขึ้นอย่างต่อเนื่อง การคำนวณด้วยตนเองเป็นแนวปฏิบัติที่ดี แต่ตัวเลือกแบบโต้ตอบสะดวกกว่า แท็กทั้งหมดเป็นรูปสี่เหลี่ยมผืนผ้าเสมอ และด้วยการติดตามเหตุการณ์ของเมาส์ที่ด้านข้างขององค์ประกอบ คุณสามารถสร้างความสามารถในการย้ายองค์ประกอบไปยังตำแหน่งที่ถูกต้องบนหน้าโดยอัตโนมัติหรือเปลี่ยนแปลงได้

การจัดการเหตุการณ์ของการคลิกปุ่มเมาส์ - จัดเก็บพิกัดของสถานที่ที่คลิก ตัวอย่างเช่น ด้านใดด้านหนึ่งขององค์ประกอบ เลื่อนเมาส์ - เลื่อนด้านข้างไปในทิศทางที่ต้องการ ปล่อยปุ่มเมาส์ - ด้านข้างหยุดและพิกัดเปลี่ยนไป วิธีนี้ทำให้คุณสามารถเปลี่ยนตำแหน่งขององค์ประกอบหรือขนาดขององค์ประกอบได้

นี่ไม่ใช่การ "ลากแล้วปล่อย" อย่างเป็นทางการ แต่เอฟเฟกต์นั้นคล้ายคลึงและใช้งานได้จริง ด้วยการสร้างตัวจัดการสากลสำหรับองค์ประกอบของหน้าใดๆ คุณจะได้รับผลลัพธ์เชิงโต้ตอบที่ดี เร่งการพัฒนา และทำให้โค้ดของคุณง่ายขึ้น

การเขียนโปรแกรมด้วยภาพและด้วยตนเอง

เมาส์บนคอมพิวเตอร์และนิ้วบนสมาร์ทโฟน - อย่างแน่นอน แนวทางต่างๆในการใช้งานอินเทอร์เฟซผู้ใช้ (ผู้เยี่ยมชม, ผู้พัฒนา) นี่เป็นข้อกำหนดที่เป็นธรรมชาติและทันสมัยสำหรับความเข้ากันได้ข้ามเบราว์เซอร์

ทั้งหมดนี้ทำให้การสร้างเพจซับซ้อนขึ้น แต่การนำแนวคิด "ลากแล้วปล่อย" มาใช้ในรูปแบบมาตรฐาน โดยใช้เหตุการณ์ รวมแนวคิดนี้กับเหตุการณ์ทั่วไปในองค์ประกอบ คุณสามารถใช้กลไกในการสร้าง หน้าจะปรากฏให้เห็น

ทีนี้มาดูการเลือกไอเท็มหรือไอเท็มกัน ข้อเท็จจริงของการเลือกคือลักษณะของเมนูบริบท ตัวอย่างเช่น เป้าหมายคือการจัดตำแหน่งที่เลือก (ซ้าย ขวา กึ่งกลาง) หรือกระจายองค์ประกอบในแนวตั้งหรือแนวนอนด้วยขั้นตอนเดียวกัน หรือเปลี่ยนขนาด (ขั้นต่ำ สูงสุด) .

การคำนวณพิกัดและมิติใหม่โดยอัตโนมัตินั้นดีกว่าการคำนวณใหม่ด้วยตนเอง ข้อผิดพลาดน้อยลง - บรรลุเป้าหมายเร็วขึ้น นอกจากนี้ คุณสามารถสร้างหน้าในเบราว์เซอร์เดียว บันทึกตำแหน่งและขนาดขององค์ประกอบ เมื่อเปิดหน้านี้บนสมาร์ทโฟน คุณสามารถแก้ไขค่าพิกัดและขนาด และจดจำค่าเหล่านี้สำหรับรุ่นสมาร์ทโฟนหรือรุ่นเบราว์เซอร์เฉพาะ

ดังนั้นหน้าเดียวกันที่ไม่มีการปฏิบัติตามข้อกำหนดของเบราว์เซอร์ข้ามด้วยตนเองจะมีข้อมูลที่แตกต่างกันที่จะแสดงบน อุปกรณ์ต่างๆและในเบราว์เซอร์ต่างๆ

หากคุณอนุญาตให้ผู้เยี่ยมชมดำเนินการตามขั้นตอนเหล่านี้ด้วยตนเอง รวมทั้งเลือกองค์ประกอบของหน้าที่จำเป็นจากองค์ประกอบที่ผู้พัฒนาจัดเตรียมไว้ คุณสามารถรับรองความเข้ากันได้ข้ามเบราว์เซอร์และฟังก์ชันการทำงานที่จำเป็นของหน้า โดยคำนึงถึงความคิดเห็นของผู้ใช้ .

HTML ลากและวางอินเทอร์เฟซช่วยให้แอปพลิเคชันสามารถใช้คุณลักษณะแบบลากและวางในเบราว์เซอร์ได้ผู้ใช้สามารถเลือก ลากได้องค์ประกอบด้วยเมาส์ ลากองค์ประกอบเหล่านั้นไปที่ droppableและวางโดยปล่อยปุ่มเมาส์ ตัวแทนโปร่งแสงของ ลากได้องค์ประกอบตามตัวชี้ระหว่างการดำเนินการลาก

สำหรับเว็บไซต์ ส่วนขยาย และแอปพลิเคชัน XUL คุณสามารถปรับแต่งองค์ประกอบที่จะกลายเป็น ลากได้, ประเภทของคำติชม the ลากได้องค์ประกอบผลิตและ droppableองค์ประกอบ

ภาพรวมของการลากและวาง HTML ประกอบด้วยคำอธิบายของอินเทอร์เฟซ ขั้นตอนพื้นฐานในการเพิ่มการรองรับการลากแล้วปล่อยไปยังแอปพลิเคชัน และสรุปความสามารถในการทำงานร่วมกันของอินเทอร์เฟซ

ลากเหตุการณ์

เหตุการณ์ บนตัวจัดการเหตุการณ์ ไฟไหม้เมื่อ ...
ลาก ondrag … NS รายการลาก(องค์ประกอบหรือการเลือกข้อความ) ถูกลาก
dragend ondragend ... การดำเนินการลากสิ้นสุดลง (เช่น ปล่อยปุ่มเมาส์หรือกดปุ่ม Esc โปรดดูที่ การสิ้นสุดการลาก)
Dragenter ondragenter ... รายการที่ลากเข้าสู่เป้าหมายการดรอปที่ถูกต้อง (ดูการระบุเป้าหมายการวาง)
dragexit ondragexit ... องค์ประกอบไม่ใช่เป้าหมายการเลือกทันทีของการดำเนินการลากอีกต่อไป
dragleave ondragleave ... รายการที่ลากออกจากเป้าหมายการดรอปที่ถูกต้อง
Dragover ondragover ... มีการลากรายการที่ลากผ่านเป้าหมายการดรอปที่ถูกต้อง ทุกๆ สองสามร้อยมิลลิวินาที
dragstart ondragstart ... ผู้ใช้เริ่มลากรายการ (ดูการเริ่มใช้งานการลาก)
หยด ondrop ... ไอเทมดรอปในเป้าหมายการดรอปที่ถูกต้อง (ดูการดรอป)

บันทึก:ไม่มีเหตุการณ์ dragstart หรือ dragend เกิดขึ้นเมื่อลากไฟล์จากระบบปฏิบัติการไปยังเบราว์เซอร์

อินเทอร์เฟซ

พื้นฐาน

ส่วนนี้เป็นบทสรุปของขั้นตอนพื้นฐานในการเพิ่มฟังก์ชันการลากและวางลงในแอปพลิเคชัน

ระบุสิ่งที่เป็น ลากได้

การสร้างองค์ประกอบ ลากได้ต้องการการเพิ่มแอตทริบิวต์ที่ลากได้และตัวจัดการเหตุการณ์ส่วนกลาง ondragstart ดังแสดงในตัวอย่างโค้ดต่อไปนี้:

องค์ประกอบนี้สามารถลากได้

สำหรับข้อมูลเพิ่มเติม โปรดดูที่:

จัดการหยด ผล

ตัวจัดการสำหรับเหตุการณ์การปล่อยมีอิสระในการประมวลผลข้อมูลการลากด้วยวิธีเฉพาะแอปพลิเคชัน

โดยทั่วไป แอปพลิเคชันจะใช้เมธอด getData () เพื่อดึงรายการลากแล้วดำเนินการตามนั้น นอกจากนี้ ความหมายของแอปพลิเคชันอาจแตกต่างกันไปขึ้นอยู่กับค่าของ

ที่องค์ประกอบ GUI ถูกนำมาใช้โดยใช้กราฟิกหลอก) โดยใช้เมาส์หรือหน้าจอสัมผัส

วิธีการนี้ดำเนินการโดย "จับ" (โดยการกดค้างไว้ที่ปุ่มหลัก ( คนแรกมักจะเป็นปุ่มเมาส์ซ้าย) ของวัตถุที่แสดงบนหน้าจอคอมพิวเตอร์ พร้อมใช้งานโดยทางโปรแกรมสำหรับการดำเนินการดังกล่าว และย้ายไปยังตำแหน่งอื่น (เพื่อเปลี่ยนตำแหน่ง) หรือ "โยน" ไปที่องค์ประกอบอื่น (เพื่อเรียกสิ่งที่เกี่ยวข้อง การดำเนินการจัดทำโดยโปรแกรม) ในส่วนที่เกี่ยวกับหน้าต่าง (สามารถเคลื่อนที่ในลักษณะนี้ได้) คำนี้มักไม่ใช้

การกระทำพื้นฐานและมากที่สุด ตัวอย่างง่ายๆการกระทำแบบลากแล้ววางคือ: การย้ายวัตถุ, การย้ายวัตถุจากแผงหนึ่งไปยังอีกแผงหนึ่ง, แม้ว่าจะทันสมัย ระบบปฏิบัติการ ah drag-and-drop ใช้กันอย่างแพร่หลายและเป็นหนึ่งในวิธีหลักในการโต้ตอบกับคอมพิวเตอร์ในส่วนต่อประสานกราฟิกกับผู้ใช้

ออบเจ็กต์สำหรับการเคลื่อนไหวอาจเป็นองค์ประกอบอินเทอร์เฟซต่อไปนี้: ไอคอนเดสก์ท็อป (ไอคอน) แถบเครื่องมือลอย ทางลัดของโปรแกรมในแถบงาน (เริ่มจาก Win XP) องค์ประกอบ TreeView สตริงข้อความ เซลล์ DataGridView และองค์ประกอบ OLE ออบเจ็กต์สามารถย้ายได้ทั้งภายในพื้นที่ที่กำหนด ภายในหน้าต่างเดียว ระหว่างแผงของหน้าต่างเดียว และระหว่างหน้าต่างต่างๆ

เหตุการณ์ลากต้องถูกทริกเกอร์โดยการกระทำบางอย่างของผู้ใช้ บ่อยครั้ง การดำเนินการนี้คือการคลิกปุ่มซ้ายของเมาส์บนองค์ประกอบ (เหตุการณ์นี้เรียกว่า MouseDown) ซึ่งสามารถย้ายในคอนเทนเนอร์ได้ ส่วนประกอบบางอย่างมีเหตุการณ์เริ่มต้นแบบลากแล้วปล่อย - ตัวอย่างเช่น TreeView มีเหตุการณ์ ItemDrag


มูลนิธิวิกิมีเดีย 2010.

ดูว่า "Drag-and-drop" ในพจนานุกรมอื่นๆ คืออะไร:

    ลากแล้ววาง- 〈[dræg ənd drɔ̣p] n.; ; unz.; EDV〉 das Anklicken eines Objektes, das auf dem Computerbildschirm (ใน eine andere Datei bzw. an eine andere Stelle) verschoben u. ดอร์ท วีเดอร์ ลอสเกลาสเซน เวิร์ด ลาก "ziehen" + และ "und" + ปล่อย "fallen...... Universal-Lexikon

    รูปแบบของการดำเนินการใด ๆ ในส่วนต่อประสานกราฟิกกับผู้ใช้ หมายถึงการใช้ เมาส์คอมพิวเตอร์... แปลจากภาษาอังกฤษตามตัวอักษรแปลว่าลากและวาง การดำเนินการจะดำเนินการโดยดำเนินการสิ่งที่ปรากฏบนหน้าจอ ... ... อภิธานศัพท์ธุรกิจ

    ลากแล้ววาง- (คำนวณ) หากต้องการย้ายไอคอน ไฟล์ ฯลฯ บนหน้าจอโดยใช้เมาส์แล้วปล่อยในตำแหน่งอื่น (dragˈ and dropˈ adjective) Main Entry: ลาก... พจนานุกรมภาษาอังกฤษที่มีประโยชน์

    ลากแล้ววาง- ไอทีเพื่อย้ายบางสิ่งจากพื้นที่หนึ่งของหน้าจอคอมพิวเตอร์ไปยังอีกพื้นที่หนึ่งโดยใช้เมาส์: "ซอฟต์แวร์นี้อนุญาตให้คุณลากและวางองค์ประกอบสำหรับรูปภาพหน้าข้อความ ฯลฯ ที่ไหนก็ได้ที่คุณต้องการ. Main Entry: ลาก ... เงื่อนไขทางการเงินและธุรกิจ

    ลากแล้ววาง- UK US กริยา n.; พล.:; Pl.: unz.; EDV〉 das Anklicken eines Objektes, das auf dem Computerbildschirm (ใน eine andere Datei bzw. an eine andere Stelle) verschoben u. ดอร์ท วีเดอร์ ลอสเกลาสเซ่น ไวร์ด)