2012-12-19 14 views
5

मैं कई संवाद है कि इसका पता लगाने जब किसी भी खुलने वाले संवाद jQuery

$("#dialog").load(URL); 
$("#dialog").dialog(
      attributes, 
      here, 
      close: function(e,u) { 
        cleanup 
      } 

तरह खोलने मुद्दा यह है कि मैं इन संवादों की सैकड़ों है। मैं मैन्युअल रूप से खुले बनाना नहीं चाहता हूं: प्रत्येक के लिए विशेषता।

$(".selector").on("dialogopen", function(event, ui) {}); 

तो तुम क्या कर सकते हैं तो आप शायद ने कहा::

$("body").on("dialogopen",function(e,u){ 
    alert('dialog open!'); 
}); 
+2

क्या आपने संवाद के लिए 'कक्षा' सेट करने की कोशिश की है और 'कक्षा' –

+1

पर bacsed जांचें आप एक आईडी विशेषता के बजाय कक्षा विशेषता का उपयोग करना चाहते हैं। –

+0

मान लीजिए

में
जैसी कक्षा थी, मैं यह कैसे देख सकता हूं कि यह खुला है या नहीं? – user974896

उत्तर

8

jQuery एपीआई से एक संवाद के लिए पूरे दस्तावेज की निगरानी कर सकते है अपने संवाद हमेशा एक ही तरीके बनाई गई हैं, क्यों इस तरह एक साधारण कारखाने विधि का उपयोग नहीं:

var createUrlDialog = function(element, url, dialogOptions) { 
    element.load(url); 
    element.dialog($.extend({}, dialogOptions, { 
     open: function(event, ui) { 
      // do what you want 
     } 
    })); 
} 
+0

खूबसूरती से काम करता है। आपका बहुत बहुत धन्यवाद! – user974896

0

वहाँ किसी भी तरह से मैं खोलने जैसे

$(document).on("open","#dialog",function() { 
    Do something 
}) 
संबंधित मुद्दे