2010-11-01 15 views
6

में ड्रैगगेबल का उपयोग करके सहायक को कैसे अनुकूलित करूं मैं एक सहायक तत्व का उपयोग करके "खींचा जा रहा" तत्व से लिया गया टेक्स्ट के साथ एक कस्टम तत्व बनाना चाहता हूं। मेरी समस्या यह है कि ui अनिर्धारित है, इसलिए मुझे नहीं पता कि ड्रैग के स्रोत को कैसे पकड़ें।मैं jQuery-UI

$('.draggable').draggable({ 
    helper: function(event, ui) { 
     var foo = $('<span style="white-space:nowrap;">DRAG TEST</span>'); 
     return foo; 
    } 
}); 

उत्तर

16

helper समारोह आप is invoked the following way लागू कर रहे हैं:

$(o.helper.apply(this.element[0], [event])) 

इसका मतलब है कि this उदाहरण के लिए, .draggable आपको लगता है कि समारोह के अंदर चाहते हैं को संदर्भित करता है:

$('.draggable').draggable({ 
    helper: function(event) { 
    return $('<span style="white-space:nowrap;"/>') 
      .text($(this).text() + " helper"); 
    } 
}); 

You can test it out here

+0

धन्यवाद! एक जादू की तरह काम किया। हो सकता है कि फ़ंक्शन कॉल में ईवेंट और ui को हटा दें, या वे किसी भी तरह से उपयोग किए जाते हैं? – Cros

+1

@ क्रोस - 'घटना' वहां है, लेकिन हाँ' ui' अपरिवर्तनीय है, हमेशा 'अपरिभाषित', मैं इसे उत्तर में हटा दूंगा। –

+0

@ निकक्रैवर हाय निक, आपका उत्तर बहुत अच्छा काम करता है। मैं मूल तत्व वापस करने की कोशिश कर रहा हूं (लेकिन नीचे संकुचित)। $ (यह) .clone() ठीक काम करता है, लेकिन केवल $ (यह) वापस लौटने से तत्व नहीं चलता है, मुझे आश्चर्य हुआ कि क्या आपको पता चलेगा क्यों? – JonWells

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