2009-08-14 64 views
3

我使用jqGrid并在网格完成呈现时将我自己的onclick事件添加到数据的每个单元格。jQuery获取元素的当前点击事件并追加到它

jqGrid具有突出显示行onclick的默认行为。当网格呈现后我添加自己的onclick事件时,我的事件按预期覆盖了jqGrid事件。我想保留jqGrid onclick事件,并将其添加到它。

如何获得当前onclick事件的所有匹配某个类的元素,并只是附加更多的动作到事件?这是我目前新的onclick事件。

谢谢!

$(".searchOrders").click(function() { 
    $('#tabs').tabs('url', 2, '/view/dspOrders.cfm?id_orders='+$(this).attr('title')); 
    $('#tabs').tabs('select', 2); 
}); 

回答

3

jQuery事件绑定机制不是覆盖的机制。换句话说:

$("#button").click(function() { alert("hello"); }); 
$("#button").click(function() { alert("goodbye"); }); 

有两个事件触发#button,第二个不覆盖第一个。

其他事情正在发生。

+0

哦,孩子,咄!其他onclick事件在表格单元格上,我的新事件在单元格内的锚点上。刚才注意到了。 – mattmac 2009-08-14 21:13:15

0

可以适应一些代码,我用它来插入加载事件:

// stack the original loads 
var aryLoadQueue = new Array(); 
$.each($.data($main.get(0), "events").load, function() { 
    aryLoadQueue.push(this); 
}); 

... 

// put the original loads back in place to take place after our one-time load 
$(aryLoadQueue).each(function() { 
    $main.load(this); 
}); 

随时与问题发表评论......

相关问题