Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery:如何取消对一个表列的广泛委托的委派?_Javascript_Jquery_Jquery Selectors - Fatal编程技术网

Javascript jQuery:如何取消对一个表列的广泛委托的委派?

Javascript jQuery:如何取消对一个表列的广泛委托的委派?,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,以下是场景: 我正在一组表单元格上创建一个dblclick委托,这些单元格包含一个名为“canEdit”的类。在一个特定的实例中,我想删除这个委托,并添加一个覆盖现有委托的基于列的委托 以下是我所拥有的: $('#' + tableID).delegate('tbody tr td.canEdit', 'dblclick', function () { // Code Here }); 设置特定属性时,将运行以下操作: $('#' + tableID).undelegate('tbody tr

以下是场景:

我正在一组表单元格上创建一个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 
});

我假设其中一个问题是,我在所有事情上都删除了代理。有没有办法只覆盖和/或删除列上的第一个代理?不必创建一个全新的类就可以解决问题吗

可以使用条件在处理程序中运行不同的代码

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

在jQuery 1.7中,
delegate()
undelegate()
被弃用,取而代之的是
on()
off()
。事件可以是单独的,也可以是成组的。