2013-05-23 6 views
8

में काम नहीं करता मैं इस तरह jQuery के साथ dragstart घटना के लिए कुछ कोड बाध्यकारी हूँ:dataTransfer.setData IE9

$new.on('dragstart', function(event) { 
    event.originalEvent.dataTransfer.setData("text/html", $new.clone().wrap('<p>').parent().html()); 
}); 

$new एक jQuery वस्तु है। इसका उद्देश्य ड्रैग किए गए तत्व के एचटीएमएल को घटना में संलग्न करना है, ताकि जब मैं गिरा दिया जाए तो मैं एक प्रतिलिपि बना सकता हूं। क्रोम को ऐसा करने के लिए इस घटना की भी आवश्यकता नहीं है। जब यह कोड जोड़ा जाता है तो फ़ायरफ़ॉक्स काम करता है। लेकिन ईवेंट ट्रिगर होने पर IE9 SCRIPT65535: Unexpected call to method or property access. फेंकता है। यहां एक जेएसफ़िल्ड है: http://jsfiddle.net/j52EM/3/

मैं आईई के लिए यह काम कैसे कर सकता हूं?

+0

संभावित डुप्लिकेट [ड्रैग और ड्रॉप में काम नहीं कर रहा है आईई - जावास्क्रिप्ट, एचटीएमएल 5] (https://stackoverflow.com/questions/12803235/drag-and-drop-not-working-in-ie-javascript-html5) – user10089632

उत्तर

12

यानी docs के अनुसार केवल दो पैरामीटर हैं I9 प्रारूप/HTML को प्रारूप के रूप में स्वीकार नहीं करता है। का उपयोग करके केवल 'पाठ'

यहाँ एक नमूना यानी MSDN वेबसाइट के अनुसार बताया गया है:

function InitiateDrag() 
// The setData parameters tell the source object 
// to transfer data as a URL and provide the path. 
{ 
    event.dataTransfer.setData("URL", oImage.src); 
} 

function FinishDrag() 
// The parameter passed to getData tells the target 
// object what data format to expect. 
{ 
    sImageURL = event.dataTransfer.getData("URL") 
    oTarget.innerText = sImageURL; 
} 
+0

यहां एक आसान पहेली है जिसे मैंने http: // jsfiddle पाया। शुद्ध/robertc/ASKte/4 / –

0

setData विधि उम्मीद स्ट्रिंग डेटा संख्या

setData('text',1) नहीं टाइप

setData('text',''+1) सही है गलत है