jQuery:如何在一个表列上取消宽泛的委托?

时间:2012-10-20 11:38:03

标签: javascript jquery jquery-selectors

以下是该方案:

我正在一堆表格单元格上创建一个dblclick委托,其中包含一个名为“canEdit”的类。在特定的实例中,我想删除此委托,并添加一个基于列的委托,覆盖现有的委托。

这就是我所拥有的:

$('#' + tableID).delegate('tbody tr td.canEdit', 'dblclick', function () {
// Code Here
});

设置特定属性时,运行的是:

$('#' + tableID).undelegate('tbody tr td.canEdit', 'dblclick');
$('#' + tableID).delegate('tbody tr td:nth-child(' + index + ').canEdit.select', 'dblclick', function () {
// Code Here 
});

我假设其中一个问题是我正在删除所有内容的委托。有没有办法只能在列上覆盖和/或删除第一个代理?任何解决方法的想法,而不必创建一个全新的类?

1 个答案:

答案 0 :(得分:0)

您可以使用条件在处理程序

中运行不同的代码
$('#' + tableID).delegate('tbody tr td.canEdit', 'dblclick', function () {
   if( $(this).index()==7) ){
      /* code for 8th column*/
    }else{
      /*  code for other columns*/
    }
});