jQuery EasyUI Dialog拖不下来如何解决


Posted in Javascript onSeptember 28, 2015

使用jquery easyui可以很容易的创建很炫的前台页面,最近在使用过程中发现dialog存在一个问题:

 用户将dialog拖出页面后,dialog就不能拖下来了,除非要重新打开页面,这个问题对于用户体验来说是非常重要的,

所以就开始研究easyu API看看有没有相应的函数或者事件去处理,结果发现没有现成,只好自己想了个办法:

思路如下:

          使用panel的onOpen事件,取得diglog的原始left和top

          当用户在拖动dialog过程中,使用panel的onMove事件取得dialog所在父页面body的width和height,

通过计算,当用户将diglog拖动出body时,使用panel的move函数将dialog移动到初始的位置。

经过测试次方法可行,代码如下所示:

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 Dialog拖不下来的解决办法,希望可以对大家的学习有所帮助,帮助大家顺利解决jQuery EasyUI Dialog拖不下来的问题。

Javascript 相关文章推荐
用JavaScript 处理 URL 的两个函数代码
Aug 13 Javascript
javascript 广告后加载,加载完页面再加载广告
Nov 25 Javascript
悄悄用脚本检查你访问过哪些网站的代码
Dec 04 Javascript
Jquery命名冲突解决的五种方案分享
Mar 16 Javascript
获取服务器传来的数据 用JS去空格的正则表达式
Mar 26 Javascript
Javascript中的delete操作符详细介绍
Jun 06 Javascript
深入浅析JSON.parse()、JSON.stringify()和eval()的作用详解
Apr 03 Javascript
Bootstrap每天必学之轮播(Carousel)插件
Apr 25 Javascript
JS实现的四级密码强度检测功能示例
May 11 Javascript
基于vue实现分页效果
Nov 06 Javascript
JavaScript使用表单元素验证表单的示例代码
Aug 20 Javascript
JS实现简单日历特效
Jan 03 Javascript
JQuery实现左右滚动菜单特效
Sep 28 #Javascript
JS动态日期时间的获取方法
Sep 28 #Javascript
js电话号码验证方法
Sep 28 #Javascript
JavaScript多图片上传案例
Sep 28 #Javascript
JavaScript判断FileUpload控件上传文件类型
Sep 28 #Javascript
JS实现的仿东京商城菜单、仿Win右键菜单及仿淘宝TAB特效合集
Sep 28 #Javascript
JS实现淘宝支付宝网站的控制台菜单效果
Sep 28 #Javascript
You might like
用PHP查询域名状态whois的类
2006/11/25 PHP
CodeIgniter错误mysql_connect(): No such file or directory解决方法
2014/09/06 PHP
php批量删除cookie的简单实现方法
2015/01/26 PHP
Yii2表单事件之Ajax提交实现方法
2017/05/04 PHP
浅谈关于PHP解决图片无损压缩的问题
2017/09/01 PHP
PHP基于curl模拟post提交json数据示例
2018/06/22 PHP
jQuery 1.3 和 Validation 验证插件1.5.1
2009/07/09 Javascript
JavaScript this调用规则说明
2010/03/08 Javascript
firefox事件处理之自动查找event的函数(用于onclick=foo())
2010/08/05 Javascript
input按钮的事件处理大全
2010/12/10 Javascript
js中访问html中iframe的文档对象的代码[IE6,IE7,IE8,FF]
2011/01/08 Javascript
JavaScript 判断浏览器是否支持SVG的代码
2013/03/21 Javascript
上传文件返回的json数据会被提示下载问题解决方案
2014/12/03 Javascript
基于HTML5上使用iScroll实现下拉刷新,上拉加载更多
2016/05/21 Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
2016/05/28 Javascript
使用Promise链式调用解决多个异步回调的问题
2017/01/15 Javascript
利用n工具轻松管理Node.js的版本
2017/04/21 Javascript
jQuery滚动插件scrollable.js用法分析
2017/05/25 jQuery
详解使用create-react-app添加css modules、sasss和antd
2018/07/31 Javascript
浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)
2018/11/08 Javascript
vue 实现左右拖拽元素并且不超过他的父元素的宽度
2018/11/30 Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
2020/02/01 jQuery
JavaScript实现alert弹框效果
2020/11/19 Javascript
python 中的列表解析和生成表达式
2011/03/10 Python
python中的break、continue、exit()、pass全面解析
2017/08/05 Python
Python yield与实现方法代码分析
2018/02/06 Python
Python文件读写常见用法总结
2019/02/22 Python
乐高积木玩具美国官网:LEGO Shop US
2016/09/16 全球购物
英国排名第一的在线宠物用品商店:Monster Pet Supplies
2018/05/20 全球购物
Reebok官方旗舰店:美国知名健身品牌锐步
2019/01/07 全球购物
森林防火宣传标语
2014/06/27 职场文书
绿色校园广播稿
2014/10/13 职场文书
2015自愿离婚协议书范本
2015/01/28 职场文书
再见,2019我们不负使命;你好,2020我们砥砺前行
2020/01/03 职场文书
这样写python注释让代码更加的优雅
2021/06/02 Python
Python中with上下文管理协议的作用及用法
2022/03/18 Python