jqxGrid——cellhover响应及事件处理

jqxGrid——cellhover响应及事件处理

要求:单元格hover及时响应,获取单元格对应的信息,弹出消息提示。

  1. 实现 cellhover 响应
  2. 获取被hover的单元格所在的row以及column,加载对应的信息
  3. 弹出消息提示,使用 gritter-notice

1、 实现cellhover响应

查看官网API jqxGrid官网DEMO API 查找cellhover,得到如下信息:
Set the cellhover property.
$('#jqxGrid').jqxGrid({ cellhover: function (cellhtmlElement, x, y) { }});

Get the cellhover proper
var cellhover = $('#jqxGrid').jqxGrid('cellhover');

//对应的表格初始化设置中添加cellhover函数
jQuery("#jqxgrid").jqxGrid(
    {
        width: "98%",
        source: dataadapter,
        theme: theme,
        selectionmode: "singlecell" ,
        ....
        cellhover: function(Obj,x,y)
        {
            f_hovershow(Obj);
        },
        columns:[
        ...
}

//写个测试
f_hovershow(Obj){
    f_info(Obj.innerHTML);//hover测试最好不用alert, 可以写个块插入Obj内容测试
}

我悲剧地发现,无论我鼠标这么移动都不能做出反应,后来下载官网js,给js换了次血,终于出来了。

2、获取被hover的单元格所在的row以及column,加载对应的信息

用obj.getElementByTagName根据标签获取对应的id还有value

f_hovershow(Obj){
/*此处的Obj是hover所在的元素指针
* 要根据元素获得单元格的行以及列,需要先在元素中隐含row和column信息。
* 查询了官方给的API找不到通过hover 直接获取行列信息,因此,笔者加载中给hover列写了个hidden input用来标识对应的id
* 然后再使用getElementByTagName获得row和column。
*/
    var element = Obj.getElementsByTagName("input");
    var id = element[0].getAttribute("id");
    var column = element[0].getAttribute("val");
}

3、弹出消息提示,使用 gritter-notice

使用了现成的gritter-notice的js,自己封装了一下,方便调用

function f_info(mess) {
        jQuery.gritter.add({
        // (string | mandatory) the heading of the notification
        title: '提示',
        // (string | mandatory) the text inside the notification
        text: mess,
        class_name: 'gritter-success gritter-light'
    });
}

以上乃个人拙见,欢迎指正,若有更好的解决方法,希望能留言交流 : )

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值