EasyUI的doCellTip实现鼠标放到单元格上提示单元格内容


Posted in Javascript onAugust 24, 2016

1:这个东西是我抄的(抄的哪儿的我就想不起来了- -)弹出的窗没有样式 不是很好看

//扩展
$.extend($.fn.datagrid.methods, { 
/** 
* 开打提示功能 
* @param {} jq 
* @param {} params 提示消息框的样式 
* @return {} 
*/ 
doCellTip : function(jq, params) { 
function showTip(data, td, e) { 
if ($(td).text() == "") 
return; 
data.tooltip.text($(td).text()).css({ 
top : (e.pageY + 10) + 'px', 
left : (e.pageX + 20) + 'px', 
'z-index' : $.fn.window.defaults.zIndex, 
display : 'block' 
}); 
}; 
return jq.each(function() { 
var grid = $(this); 
var options = $(this).data('datagrid'); 
if (!options.tooltip) { 
var panel = grid.datagrid('getPanel').panel('panel'); 
var defaultCls = { 
'border' : '1px solid #333', 
'padding' : '1px', 
'color' : '#333', 
'background' : '#f7f5d1', 
'position' : 'absolute', 
'max-width' : '200px', 
'border-radius' : '4px', 
'-moz-border-radius' : '4px', 
'-webkit-border-radius' : '4px', 
'display' : 'none' 
} 
var tooltip = $("<div></div>").appendTo('body'); 
tooltip.css($.extend({}, defaultCls, params.cls)); 
options.tooltip = tooltip; 
panel.find('.datagrid-body').each(function() { 
var delegateEle = $(this).find('> div.datagrid-body-inner').length 
? $(this).find('> div.datagrid-body-inner')[0] 
: this; 
$(delegateEle).undelegate('td', 'mouseover').undelegate( 
'td', 'mouseout').undelegate('td', 'mousemove') 
.delegate('td', { 
'mouseover' : function(e) { 
if (params.delay) { 
if (options.tipDelayTime) 
clearTimeout(options.tipDelayTime); 
var that = this; 
options.tipDelayTime = setTimeout( 
function() { 
showTip(options, that, e); 
}, params.delay); 
} else { 
showTip(options, this, e); 
} 
}, 
'mouseout' : function(e) { 
if (options.tipDelayTime) 
clearTimeout(options.tipDelayTime); 
options.tooltip.css({ 
'display' : 'none' 
}); 
}, 
'mousemove' : function(e) { 
var that = this; 
if (options.tipDelayTime) { 
clearTimeout(options.tipDelayTime); 
options.tipDelayTime = setTimeout( 
function() { 
showTip(options, that, e); 
}, params.delay); 
} else { 
showTip(options, that, e); 
} 
} 
}); 
}); 
} 
}); 
}, 
/** 
* 关闭消息提示功能 
* @param {} jq 
* @return {} 
*/ 
cancelCellTip : function(jq) { 
return jq.each(function() { 
var data = $(this).data('datagrid'); 
if (data.tooltip) { 
data.tooltip.remove(); 
data.tooltip = null; 
var panel = $(this).datagrid('getPanel').panel('panel'); 
panel.find('.datagrid-body').undelegate('td', 
'mouseover').undelegate('td', 'mouseout') 
.undelegate('td', 'mousemove') 
} 
if (data.tipDelayTime) { 
clearTimeout(data.tipDelayTime); 
data.tipDelayTime = null; 
} 
}); 
} 
});

调用方法1:

function doCellTip(){ 
$('#dg').datagrid('doCellTip',{'max-width':'100px'}); 
} 
function cancelCellTip(){ 
$('#dg').datagrid('cancelCellTip'); 
}

调用方法2:

onLoadSuccess:function(data){ 
$('#dg').datagrid('doCellTip',{cls:{'background-color':'red'},delay:1000}); 
}

以上所述是小编给大家介绍的EasyUI的doCellTip实现鼠标放到单元格上提示单元格内容,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js select常用操作控制代码
Mar 16 Javascript
JavaScript传递变量: 值传递?引用传递?
Feb 22 Javascript
javascript中的继承实例代码
Apr 27 Javascript
JS多物体 任意值 链式 缓冲运动
Aug 10 Javascript
深入Javascript函数、递归与闭包(执行环境、变量对象与作用域链)使用详解
May 08 Javascript
使用js实现按钮控制文本框加1减1应用于小时+分钟
Dec 09 Javascript
jQuery validate插件实现ajax验证重复的2种方法
Jan 22 Javascript
JSON对象 详解及实例代码
Oct 18 Javascript
Vue.js如何实现路由懒加载浅析
Aug 14 Javascript
Node.js中环境变量process.env的一些事详解
Oct 26 Javascript
JavaScript树的深度优先遍历和广度优先遍历算法示例
Jul 30 Javascript
Vue源码探究之虚拟节点的实现
Apr 17 Javascript
JS实现获取当前URL和来源URL的方法
Aug 24 #Javascript
Bootstrap和Angularjs配合自制弹框的实例代码
Aug 24 #Javascript
总结Javascript中的隐式类型转换
Aug 24 #Javascript
jQuery实现的自适应焦点图效果完整实例
Aug 24 #Javascript
BootStrap+Angularjs+NgDialog实现模式对话框
Aug 24 #Javascript
JS for...in 遍历语句用法实例分析
Aug 24 #Javascript
用JS中split方法实现彩色文字背景效果实例
Aug 24 #Javascript
You might like
《星际争霸重制版》兵种对比图鉴
2020/03/02 星际争霸
php 来访国内外IP判断代码并实现页面跳转
2009/12/18 PHP
深入解析php中的foreach函数
2013/08/31 PHP
php文件上传的简单实例
2013/10/19 PHP
PHP文件缓存smarty模板应用实例分析
2016/02/26 PHP
PHP实现bitmap位图排序与求交集的方法
2016/07/28 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
php格式文件打开的四种方法
2018/02/24 PHP
PHP常见的序列化与反序列化操作实例分析
2019/10/28 PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
2020/12/16 PHP
jQuery右键菜单contextMenu使用实例
2011/09/28 Javascript
Javascript Request获取请求参数如何实现
2012/11/28 Javascript
ie6下png图片背景不透明的解决办法使用js实现
2013/01/11 Javascript
使用Sticky组件实现带sticky效果的tab导航和滚动导航的方法
2016/03/22 Javascript
简洁实用的BootStrap jQuery手风琴插件
2016/08/31 Javascript
深入理解JS继承和原型链的问题
2016/12/17 Javascript
JS触摸与手势事件详解
2017/05/09 Javascript
详解基于webpack搭建react运行环境
2017/06/01 Javascript
JavaScript操作文件_动力节点Java学院整理
2017/06/30 Javascript
vue element-ui table表格滚动加载方法
2018/03/02 Javascript
AngularJS实现与后台服务器进行交互的示例讲解
2018/08/13 Javascript
微信小程序实现上传图片裁剪图片过程解析
2019/08/22 Javascript
Vue使用mixin分发组件的可复用功能
2019/09/01 Javascript
python封装对象实现时间效果
2020/04/23 Python
Python探索之爬取电商售卖信息代码示例
2017/10/27 Python
pandas.dataframe按行索引表达式选取方法
2018/10/30 Python
Python3.0 实现决策树算法的流程
2019/08/08 Python
美国酒店控股公司:Choice Hotels
2018/06/15 全球购物
美国尼曼百货官网:Neiman Marcus
2019/09/05 全球购物
在校生钳工实习自我鉴定
2013/09/19 职场文书
大学生开西餐厅创业计划书
2014/02/01 职场文书
2014大学生全国两会学习心得体会
2014/03/13 职场文书
辩论会主持词
2015/07/03 职场文书
新教师教学工作总结
2015/08/12 职场文书
《曾国藩家书》读后感——读家书,立家风
2019/08/21 职场文书
阿里云服务器搭建Php+Apache运行环境的详细过程
2021/05/15 PHP