Javascript jQuery:如何取消对一个表列的广泛委托的委派?
以下是场景: 我正在一组表单元格上创建一个dblclick委托,这些单元格包含一个名为“canEdit”的类。在一个特定的实例中,我想删除这个委托,并添加一个覆盖现有委托的基于列的委托 以下是我所拥有的: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
$('#' + 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()
。事件可以是单独的,也可以是成组的。