2013-04-09 4 views
7

पर लाइव का उपयोग कैसे करें I jquery ui से ड्रैगबबल विधि का उपयोग कर रहा हूं। ड्रैगगेबल पर लाइव() कैसे लागू करें।Jquery ड्रैगगेबल

$("#image").draggable({ containment: [10, 150, 0, 0], scroll: false}); 

मैं क्या करने की कोशिश की इस

$("#image").live("draggable", function() { 
.draggable({ containment: [10, 150, 0, 0], scroll: false}); 

है लेकिन यह काम नहीं कर रहा।

धन्यवाद

+2

आपका मतलब है ['.on()'] (http: // api .jquery.com/पर)। ['.live()' को jQuery 1.9 के रूप में हटा दिया गया है (http://api.jquery.com/live/) – Blazemonger

+2

इस नमूना चर्चा को देखें http://stackoverflow.com/a/3349395/1193035 –

+2

FYI, .live() बहिष्कृत है। जांचें।() (Http://api.jquery.com/on/) – isotrope

उत्तर

14

सबसे पहले एक FYI करें के रूप में, रहते हैं हटाई गई है, आप .on का उपयोग करना चाहिए() राज्य के ऊपर टिप्पणी के रूप में।

दूसरा, आप ऐसा करने में सक्षम नहीं होंगे जो आपको किसी परिदृश्य के साथ करने की ज़रूरत है क्योंकि उन घटनाओं को() में बेक नहीं किया गया है।

function doDraggable() { 
    $(".draggable").draggable({ containment: [0, finalHeight, 0, 0], scroll: false}); 
} 

तो यह आरंभ जब दस्तावेज़ तैयार है और यह भी कि जब भी ajax पूरा करता है:

$(document).ready(function() { 
    doDraggable(); 
}); 
$(document).ajaxComplete(function() { 
    doDraggable(); 
}); 

आप और अधिक हो सकता है इसलिए जिस तरह से है कि मैं यह दृष्टिकोण होगा एक समारोह के अंदर अपने घटना लगाव प्रदर्शन करने के लिए है AJAXComplete ईवेंट का उपयोग कर दस्तावेज़ चयनकर्ता से विशिष्ट है ताकि यह प्रत्येक AJAX ईवेंट के लिए आग न हो, लेकिन आपको मेरा बहाव मिल जाएगा ...

+0

क्या होगा यदि वह AJAX के बिना तत्व जोड़ रहा है – Blazemonger

+0

फिर डी ocument.ready इसे कवर करना चाहिए। या आप jQuery के बाहर AJAX प्रदर्शन करने का मतलब है? यदि ऐसा है, तो संलग्नक को पुन: प्रारंभ करने के लिए उन्हें उन विशिष्ट AJAX कॉलों पर कॉलबैक संलग्न करने की आवश्यकता होगी। –

+1

मेरा मतलब है कि किसी उपयोगकर्ता ईवेंट के जवाब में डीओएम में तत्व जोड़ना, जैसे बटन को क्लिक करना, बस '$ (' body ') के माध्यम से। (' Div ')' या कुछ ऐसा करें। – Blazemonger

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