2013-09-24 12 views
17

La mia finestra di dialogo viene definito sotto il divevento Trigger su finestra di dialogo aperta

#dialogbox 

Quando la finestra di dialogo si apre voglio attivare un evento tale che avvisa aperta. L'im codice utilizzando è:

$("#dialogbox").dialog({open: function(){ 
      alert("OPEN"); 
      } 
}); 

Ma questo doesnt sembrano innescare quando la finestra di dialogo si apre Aiutateci

+0

dovrebbe aprire, che cosa è la console dire? – tymeJV

risposta

38

È possibile utilizzare questo:

$(".selector").dialog({ 
    open: function(event, ui) {} 
}); 

o listener di eventi .on

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

Ulteriori informazioni in questa pagina:

http://api.jqueryui.com/dialog/#event-open

+4

Grazie. Sei il mio nuovo dio. E considerando im indù, questo non conta molto. Ma grazie mille. Ho fatto tremare il mio cervello per 3 ore a causa di questo problema di "ascoltatori". – user2583714

+0

Felice di aiutarti :) –

+0

quel luogo (aperto :) è anche un buon punto per definire i gestori, poiché saranno definiti una volta sola; handler come .on ("change", function (...)); In effetti, i gestori potrebbero non funzionare, anche usando .on, se posti all'esterno di questa sezione "open:". –

4

Prova questo:

jsFiddle here

HTML:

<div id="dialogbox"></div> 
<input id="mybutt" type="button" value="Click Me"> 

JavaScript/jQuery:

$("#dialogbox").dialog({ 
    autoOpen:false, 
    modal:true, 
    title: "Use of Open event", 
    width:300, 
    open: function(event, ui) { 
     alert('hello'); 
    } 
}); 

$('#mybutt').click(function() { 
    $('#dialogbox').html('<h2>Watch this</h2>An alert box should have opened'); 
    $('#dialogbox').dialog('open'); 
}); 
0

Visualizzerà un avviso dopo aver fatto clic sul pulsante OK.

$("#WaitingDialog").html("Message you want to display").dialog({ 
    modal: true, 
    buttons: { 
    Ok: function() { 
     alert("hello"); 
    } 
}}); 

Mostrerà allerta dopo l'apertura del modale

$("#WaitingDialog").html("Message you want to display").dialog({ 
    modal: true, 
    buttons: { 
     open: function(event, ui) { 
       alert('hello'); 
      } 
    }});