3

在此处输入图像描述

该表是使用 NodeWebkit 中的 GridX/dojo 生成的。“[BV][B][V]”是 jQuery 使用类选择器处理的链接。但是,一旦我对网格进行排序,听众就会被解除绑定。如何重新应用点击功能?排序和渲染完成时是否有回调?

4

3 回答 3

3

在 gridx 中完成排序时,我不知道有任何回调或事件。

但是,整个网格在排序或过滤时会重新呈现。所以你可以使用类似的东西:

grid.connect(grid.body, 'onRender', function(){
    $(document).on("click", "a.myBVlink", function() {
      ...
    });
    $(document).on("click", "a.myBlink", function() {
      ...
    });
    $(document).on("click", "a.myVlink", function() {
      ...
    });
});
于 2014-09-04T20:59:35.297 回答
0

我创建了一个包装器 div 并将点击侦听器添加到它 -

$('#gridWrapper').on('click','.myLinkClass',function(){
    console.log('clicked');
    console.log(this);
});

gridWrapper没有改变。因此,侦听器保持活动状态,并且.myLinkClass选择器选择<a href="#" class="myLinkClass">text</a>尽管排序。

于 2014-09-04T22:41:59.407 回答
0

就像@mccannf 发起的一样,我使用重新渲染事件。为了防止双重工作,我只使用一个计数变量并且只做第二次工作。
注意:如果最初网格为空,则我将计数器设置为 1,因为该事件仅被调用一次。

var countRender = 0;
if (grid.store.data.length == 0) countRender=1; 

grid.connect(grid.body, 'onRender', function(gridName){
    if (!countRender++) return;
    countRender=0;
    ...
});
于 2017-02-15T20:38:15.543 回答