Gridx / Dojo& jQuery:排序完成后是否有回调?

时间:2014-09-04 18:36:05

标签: javascript jquery dojo node-webkit dojo.gridx

enter image description here

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

3 个答案:

答案 0 :(得分: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() {
      ...
    });
});

答案 1 :(得分:0)

我创建了一个包装器div并将点击监听器添加为 -

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

gridWrapper未更改。因此,监听器仍保持活动状态,.myLinkClass选择器尽管排序仍会选择<a href="#" class="myLinkClass">text</a>

答案 2 :(得分: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;
    ...
});