打开对话框时触发事件

24

我的对话框在 div 下定义。

#dialogbox
当对话框打开时,我希望触发一个事件,以便它弹出一个警告。我正在使用的代码是:

当对话框打开时,我想触发一个事件,使其弹出警告。我正在使用以下代码:

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

但是当打开对话框时似乎不会触发这个

请帮忙。

应该打开,你的控制台显示什么? - tymeJV
4个回答

54
你可以使用这个:
$( ".selector" ).dialog({
  open: function( event, ui ) {}
});

或者事件监听器 .on

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

本页面提供更多信息:

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


4
谢谢。你是我的新神。考虑到我是印度教徒,这并没有太大的意义。但非常感谢你。因为这个“监听器”的问题,我一直在思考三个小时了。 - user2583714
那个地方(open:)也是定义处理程序的好地方,因为它们只会被定义一次;例如.on("change", function (...))这样的处理程序。实际上,即使使用.on,如果放在“open:”部分之外,处理程序可能也无法正常工作。 - Fabien Haddadi

6
请尝试以下方法:

在这里打开jsFiddle

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

1
点击“确认”按钮后,将显示警报。
$( "#WaitingDialog").html("Message you want to display").dialog({
   modal: true,
   buttons: { 
    Ok: function() {
       alert("hello");
    }
}});

它会在打开模态框后显示警告。
$( "#WaitingDialog").html("Message you want to display").dialog({
    modal: true,
    buttons: { 
        open: function( event, ui ) {
              alert('hello');
          }
    }});

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接