2012-03-01 14 views
26

मैं एक नया वेब एप्लिकेशन लिख रहा हूं जिसे पृष्ठ पर तत्वों के लिए ड्रैग और ड्रॉप ऑपरेशंस का समर्थन करने की आवश्यकता है (फ़ाइल ड्रैग और ड्रॉप नहीं)।एचटीएमएल 5 के लाभ jQuery यूआई खींचें और ड्रॉप करें

इस उत्तर इस सवाल

html5 vs jquery drag and drop

करने के लिए ब्राउज़र एचटीएमएल 5 खींचें और ड्रॉप और या तो उपयोग का समर्थन करने वाले या jQuery यूआई की तरह एक वैकल्पिक करने के लिए वापस गिर का समर्थन करता है कि क्या जांच करने के लिए Modernizr उपयोग करने की सलाह।

चूंकि उनके पास काफी अलग मॉडल हैं, इसका मतलब है कि सभी ड्रैग और ड्रॉप कोड को लागू और परीक्षण करना होगा (बहुत कम साझा कार्यान्वयन)। ऐसा करने के लिए केवल तार्किक लगता है कि यदि एचटीएमएल 5 ड्रैग और ड्रॉप के लिए महत्वपूर्ण, उपयोगकर्ता-प्रभावकारी लाभ हैं और यदि jQuery UI पर फ़ॉलबैक एक अपर्याप्त अनुभव प्रदान करेगा।

क्या दोनों प्रकारों को लागू करने के लिए महत्वपूर्ण लाभ हैं?

+0

करीबी वोट क्यों? यह जानना उचित लगता है कि एचटीएमएल 5 ड्रैग और ड्रॉप के फायदे हैं या नहीं, मुझे पता नहीं है कि दोहरी कार्यान्वयन प्रदान करने वाले वारंट होंगे। यदि यह एक वैध प्रश्न नहीं है, तो कृपया साझा करें क्यों। –

+0

एरिक: मेरे लिए यह स्पष्ट नहीं है कि आप किस प्रकार के उत्तर के बाद हैं। यह उन लोगों में से एक है "पेशेवर और विपक्ष क्या हैं" या "मेरे प्रोजेक्ट के लिए मुझे क्या उपयोग करना चाहिए" प्रश्न। आप जानते हैं कि एचटीएमएल 5 ड्रैग और ड्रॉप क्रॉस ब्राउज़र नहीं है, आप जानते हैं कि जेएस कार्यान्वयन पर वापस कैसे आना है - यहां तकनीकी प्रश्न क्या है? मैं मानता हूं, मैं इसे याद कर सकता हूं। –

+0

@Madmartigan: नहीं, मैं पूछ रहा हूं कि कुछ ऐसा है जो HTML5 ड्रैग और ड्रॉप jQuery UI ड्रैग और ड्रॉप से ​​बेहतर करता है। मुझे पता है कि मुझे jQuery संस्करण को लागू करना है क्योंकि सभी ब्राउज़र HTML5 का समर्थन नहीं करते हैं। मैं इसके बाद हूं कि एचटीएमएल 5 संस्करण में लाभ (तेज़, आसान, जो कुछ भी) हैं, मुझे पता नहीं है कि jQuery UI के लिए विकास के शीर्ष पर अतिरिक्त विकास प्रयास की गारंटी होगी। नेट के चारों ओर मैंने जो जवाब देखा है, वे "दोनों करते हैं" लगते हैं, और यह मुझे समझ में नहीं आता है कि मुझे वर्तमान में क्या पता है। –

उत्तर

12

मुझे लगता है कि अंत में jQuery अंतर्निहित ब्राउज़र क्षमताओं का लाभ उठाएगा जैसे एचटीएमएल 5 ड्रैग और ड्रॉप।

और यदि विभिन्न ब्राउज़र इसे अलग-अलग कार्यान्वित करते हैं ... jQuery इसके साथ सौदा करेगा।

+0

डाउन-वोट के लिए खेद है, मुझे यकीन है कि आपका मतलब है ** jQuery-UI ** और नहीं ** jQuery **। http://wiki.jqueryui.com/w/page/12137878/Draggable – jozecuervo

12

मुझे लगता है कि jQuery पर खींचने और ड्रॉप करने का सबसे बड़ा लाभ विशाल jQuery UI लाइब्रेरी और सीएसएस फ़ाइलों का उन्मूलन है।

कहा जा रहा है कि ब्राउज़र संगतता का वर्तमान मुद्दा है जो jQuery को बहुत जरूरी बनाता है।

+2

यह एक अच्छा बिंदु है। –

+0

भी गति। पेज पर बहुत सारे ड्रैगगेल के साथ jQuery यूआई डीएनडी काफी धीमी है। एचटीएमएल 5 डीएनडी पर स्विच करने के बाद पृष्ठों ने तेजी से जवाब दिया। लेकिन एचटीएमएल 5 डीएनडी एपीआई अजीब है और jqui की तुलना में बहुत सारी चीजें गायब है :( – Alex

3

मैं विशेष रूप से डीएनडी के बारे में जवाब दे रहा हूं, क्योंकि ऐसा लगता है कि आप क्या पूछ रहे थे। मुझे लगता है कि कुछ लोग jQueryUI के साथ jQuery को भ्रमित कर रहे हैं। JQuery के साथ देशी एचटीएमएल 5 डीडी का उपयोग करना प्रदर्शन और विकास के समय दोनों में बहुत अच्छा संयोजन है। चूंकि डीएनडी सुविधाएं आईई दुनिया से आईं, इसलिए ब्राउज़र समर्थन बोर्ड भर में बहुत अच्छा है (आईई 7 सहित, और शायद पुराना भी)। JQuery का उपयोग करके आप सभी क्रॉस ब्राउज़र addClass(), removeClass(), आदि महत्वपूर्ण हैं जो महत्वपूर्ण हैं।

दूसरी ओर jQueryUI सुविधाओं की एक टन प्रदान करता है, जिसे आपको शायद इसकी आवश्यकता नहीं होगी। चूंकि उनका डीएनडी माउस घटनाओं पर निर्भर करता है और देशी डीएनडी नहीं तो प्रदर्शन उतना अच्छा नहीं होगा। jQueryUI jQuery के साथ उलझन में नहीं होना चाहिए। jQueryUI को 2.5 से अधिक वर्षों में कोई बड़ा अपडेट नहीं मिला है! (हां, jQueryUI 1.8rc1 जनवरी 2010 में था) तो, यह कहना इतना आसान नहीं है कि वे भविष्य में मूल समर्थन जोड़ देंगे, जिस गति से वे अपडेट कर रहे हैं, मैं अपनी सांस नहीं पकड़ूंगा।

7

ठीक है, दोनों को लागू करने के बाद, मैं इसे mousedown/mousemove ईवेंट (मूल रूप से jquery UI के रूप में) के साथ मैन्युअल रूप से करने की अनुशंसा करता हूं।

मैं मानता हूं कि jQuery UI थोड़ा भारी हो सकता है, लेकिन बहुत सारे ट्यूटोरियल/कोड स्निपेट स्वयं कोड करने के लिए उपलब्ध हैं।

मैं आधुनिक ब्राउज़र में मूल कार्यान्वयन के बजाय मैन्युअल दृष्टिकोण की सिफारिश क्यों करूं? क्योंकि एचटीएमएल 5 डीएनडी sux! यह मौजूदा ब्राउज़रों के लिए नया हो सकता है, लेकिन आईई 5 में पुराने कार्यान्वयन के बाद मॉडलिंग किया गया है।

यदि आप डेस्कटॉप से ​​विंडोज़ के बीच चीजों को स्थानांतरित करने के बारे में बात कर रहे हैं, तो शायद मैं एचटीएमएल 5 डीएनडी का उपयोग करने पर विचार करूंगा क्योंकि इसमें ब्राउजर/ओएस हुक हैं। अन्यथा यदि आप केवल एक वेबपृष्ठ पर डोम नोड्स को ले जा रहे हैं, तो इसे मैन्युअल रूप से जेएस माउस ईवेंट के साथ करें।

पॉल

+11

क्योंकि यह sux है? क्या आप इसे तकनीकी शर्तों में अनुवाद कर सकते हैं? –

+0

ठीक है, तकनीकी रूप से एचटीएमएल 5 डीएनडी का एक भयानक कार्यान्वयन है। इसके बजाय स्पष्टीकरण के तकनीकी पक्ष को डुप्लिकेट करें, मैं html5 ड्रैग और ड्रॉप एसएक्स के लिए Google की खोज करूंगा। ठीक है, यहां पहले दो परिणाम हैं: http://www.quirksmode.org/blog/archives/2009/09/the_html5_drag.html और http://pxdraw.com /HTML5DragAndDropSucks.com/#slide12 –

+2

व्यक्तिगत रूप से, मैंने अपना पहला कार्यान्वयन शुरू करने से पहले पहले लिंक को पढ़ लिया था और खेद है। यही कारण है कि मैं अन्य देवताओं को एक साथ हैकिंग के दर्द को बचाने के लिए यहां पोस्ट कर रहा हूं। मुझे यकीन है कि पीकेके की प्रेरणा भी थी, लेकिन आप सभी की तरह यह पढ़ेगा और फिर भी एचटीएमएल 5 डीएनडी को लागू करेगा, मैं कड़ी मेहनत कर रहा हूं :) –

0

मैं बस/एक HTML5 आधारित खींचें उपयोग करें, क्योंकि मैं क्या सॉर्ट करने के लिए कोशिश कर रहा था के आकार के साथ jQueryUI एक के बजाय sortable स्क्रिप्ट ड्रॉप, करने के लिए एक स्क्रिप्ट परिवर्तित, यह 19 सेकंड लगे आरंभ करने के लिए jQueryUI संस्करण, और .19 सेकंड एचटीएमएल 5 संस्करण शुरू करने के लिए।

तो लाभ: गति

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