ホームページ  >  記事  >  ウェブフロントエンド  >  jQuery EasyUIダイアログが下にドラッグできない問題の解決方法_jquery

jQuery EasyUIダイアログが下にドラッグできない問題の解決方法_jquery

WBOY
WBOYオリジナル
2016-05-16 15:37:411112ブラウズ

jquery easyui を使用すると、簡単にクールなフロントエンド ページを作成できます。最近、使用中にダイアログに問題があることがわかりました。

ユーザーがダイアログをページの外にドラッグした後は、ページを再度開かない限り、ダイアログを下にドラッグすることはできません。この問題はユーザー エクスペリエンスにとって非常に重要です。

そこで、対応する関数やイベントを処理できるかどうかを確認するために easyu API を調べ始めました。既製のものがないことが判明したため、方法を考える必要がありました。

アイデアは次のとおりです:

パネルの onOpen イベントを使用して、diglog の元の左と上を取得します

ユーザーがダイアログをドラッグしているときに、パネルの onMove イベントを使用して、ダイアログが配置されている親ページの本文の幅と高さを取得します。

計算により、ユーザーがディグログを本体からドラッグすると、パネルの移動機能を使用してダイアログが初期位置に移動します。

テスト後、このメソッドは次のように動作します。

var default_left;
var default_top;
$('#details_dd').dialog({
  title:'详细信息',
  modal: true,
  onOpen:function(){ 
  //dialog原始left
  default_left=$('#details_dd').panel('options').left; 
     //dialog原始top
   default_top=$('#details_dd').panel('options').top;     
},
  onMove:function(left,top){ //鼠标拖动时事件
   var body_width=document.body.offsetWidth;//body的宽度
   var body_height=document.body.offsetHeight;//body的高度
   var dd_width= $('#details_dd').panel('options').width;//dialog的宽度
   var dd_height= $('#details_dd').panel('options').height;//dialog的高度    
   if(left<1||left>(body_width-dd_width)||top<1||top>(body_height-dd_height)){
      $('#details_dd').dialog('move',{  
   left:default_left,  
   top:default_top  
   }); 
    }
}
});

問題によっては、何かを得るために全員で話し合い、調査する必要があります。この記事では、ドラッグ ダウンできない jQuery EasyUI ダイアログの解決策を共有し、皆さんの学習に役立ち、jQuery EasyUI の問題をうまく解決できることを願っています。ダイアログを下にドラッグできない問題。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。