2012-12-31 11 views
7

मुझे पृष्ठ से डीआईवी हटा दिए जाने के बाद एक फ़ंक्शन कॉल करने की आवश्यकता है।निकालने के भीतर jQuery कॉलबैक() फ़ंक्शन

मैंने ऐसा कॉलबैक जोड़ने की कोशिश की है, लेकिन कोई भाग्य नहीं है। कोई सुझाव?

$(foo).remove(function() { 
    stepb(); 
}); 
+0

शायद 'हटाने() किया (function() {stepb()});।' – mplungjan

+0

जांच इस http://stackoverflow.com/questions/7594817/jquery-remove-callback –

+2

है पूछने के लिए। क्यों न केवल $ (foo) .remove(); stepb(); '? यह 'stepb()' के संदर्भ के साथ एक मुद्दा है? –

उत्तर

15

प्रयास करें इस

$ .जब (। $ ('# Foo') को हटाने()) तो (stepb()) ; [ उदाहरण 1] [1] और [ उदाहरण 2] [2]।

$('#foo').remove(); 
stepb(); 

के बाद से jQuery में remove विधि तुल्यकालिक है, stepb() के बाद समाप्त हो गया है remove() सक्रिय किया जाएगा। इसलिए, $.when().then() का उपयोग करने की आवश्यकता नहीं है।

+2

इस बकवास की प्रतिलिपि बनाने से पहले भावी पाठकों के लिए नोट: jQuery में 'निकालें' विधि तुल्यकालिक है, जिसका अर्थ है कि जो भी कोड आता है, उसे 'निकालना' ऑपरेशन पूरा होने के बाद गारंटी दी जाएगी। इसलिए '$ .when' का उपयोग अनावश्यक है,' $ ('# foo') करें। हटाएं(); stepb(); 'इसके बजाय सटीक परिणाम के लिए। – Mahn

0

डिफ़ॉल्ट रूप से डीओएम से कुछ हटा दिए जाने पर कोई घटना नहीं निकाल दी जाती है।

कुछ अच्छे समाधान के लिए इस सवाल का पर एक नज़र डालें:। jQuery - Trigger event when an element is removed from the DOM

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