0

我有一个像这样的扩展 div:

var $chatTemplateDiv = $('#ChatTemplate');
 var dialogExtendOptions = {
     "close": true,
     "maximize": false,
     "minimize": true,
     "dblclick": 'minimize',
     "titlebar": 'transparent',
     "restore": function (event, ui) {

     }
 };
 $chatTemplateDiv.dialog({
         title: ClientName,
         width: 360,
         height: 320,
         modal: false,
         resizable: false,
         maxHeight: 500,
         focus: function (event, ui) {
             $("#ToClientID").val(ToClient); 

         },
         open: function (event, ui) {

             $(this).animate({
                 scrollTop: $(this).scrollTop() + 10000000
             });

         }
     }).dialogExtend(dialogExtendOptions);

我怎么知道用户是否最小化了 div ?

4

1 回答 1

1

如果您正在使用此插件https://code.google.com/p/jquery-dialogextend/ 那么您可以这样做:

它包含两个事件beforeMinimizeminimize因此请尝试其中一个适合您的事件。

 var dialogExtendOptions = {
     "close": true,
     "maximize": false,
     "minimize": true,
     "dblclick": 'minimize',
     "titlebar": 'transparent',
     "restore": function (event, ui) {

     },"events" : {
          "beforeMinimize" : function(evt, dlg){ alert(evt.type+"."+evt.handleObj.namespace); },
          "minimize" : function(evt, dlg){ alert(evt.type+"."+evt.handleObj.namespace); }
        }
 };

然后按照您在上面的问题中编写的代码编写其余代码。

编辑

好的,正如您所说,您想确定它是否已最小化。所以你可以这样做:

如官方文档中所述:

switch ( $("#my-dialog").dialogExtend("state") ) {
  case "maximized":
    alert("The dialog is maximized");
    break;
  case "minimized":
    alert("The dialog is minimized");
    break;
  case "collapsed":
    alert("The dialog is collapsed");
    break;
  default:
    alert("The dialog is normal");
}

每当您想确定它是否已最小化时,请使用它。

因此,如果您想在单击按钮时确定您的对话框是否已最小化,您可以这样做:

$("#yourbutton").on('click',function(){
switch ( $('#ChatTemplate').dialogExtend("state") ) {
  case "minimized":
    alert("The dialog is minimized");
    }

});
于 2013-03-07T09:56:16.340 回答