web-dev-qa-db-fra.com

Evénement déclencheur dans la boîte de dialogue ouverte

Ma boite de dialogue est définie sous la div

#dialogbox

Lorsque la boîte de dialogue s'ouvre, je souhaite déclencher un événement tel que les alertes s'ouvrent. Le code que j'utilise est:

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

Mais cela ne semble pas se déclencher lorsque la boîte de dialogue est ouverte S'il vous plaît, aidez

19
user2583714

Vous pouvez utiliser ceci: 

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

ou l'auditeur d'événement .on

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

Plus d'informations sur cette page: 

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

42
Donovan Charpin

Essaye ça:

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');
});
5
gibberish

Vous pouvez également utiliser l'événement focusCliquez ici pour documentation

0
prince jose

Il affichera une alerte après avoir cliqué sur le bouton OK.

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

Il affichera une alerte après avoir ouvert le modal

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