0

シナリオは次のとおりです。

'canEdit'というクラスを含む一連のテーブルセルにdblclickデリゲートを作成しています。特定の例では、このデリゲートを削除し、既存のデリゲートを上書きする列ベースのデリゲートを追加したいと思います。

これが私が持っているものです:

$('#' + 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つは、すべてのデリゲートを削除することだと思います。列でのみ最初のデリゲートを上書きおよび/または削除する方法はありますか?まったく新しいクラスを作成せずに回避策のアイデアはありますか?

4

1 に答える 1

0

条件を使用して、ハンドラー内で別のコードを実行できます

$('#' + tableID).delegate('tbody tr td.canEdit', 'dblclick', function () {
   if( $(this).index()==7) ){
      /* code for 8th column*/
    }else{
      /*  code for other columns*/
    }
});
于 2012-10-20T12:43:57.547 に答える