2017-02-17 3 views
0

私はこのコードを完全に正常に動作させました。このコードif ($(e.target).is("#checkId_ i"))if ($(e.target).is("[id^=checkId_] i"))を使用すると、本文クリックでifの文がスキップされます。私はちょうど私の友人からこの全体のコードを参照してください、しかし私は彼に尋ね、彼はまた、理由が分からない。クリックすると本体のブートストラップデータテーブル

以下のコードが動作していて、テストコードが正しくない理由は何ですか?

データテーブル

columns: 
    [ 
     { data: "testID", title: "Test Click Button", searchable: false, orderable: false, sClass: "alignCenter", 
      "mRender": function (data) { 
      return '<button type="button" class="btn btn-info btn-xs action" id="checkId_' + data + '"><i class="fa fa-dollar fa-fw action"></i></button>' 
      + '&nbsp; <button type="button" class="btn btn-danger btn-xs action" id="checkId2_' + data + '"><i class="fa fa-dollar fa-fw action"></i></button>'; 
      } 
     } 
    ] 

ボディのOnClick

$('#tbltest tbody').on('click', 'tr', function (e) { 
    debugger; 
    if ($(e.target).is("[id^=checkId_],[id^=checkId_] i")) { 
     alert("Button 1 is Click"); 
    } else if ($(e.target).is("[id^=checkId2_],[id^=checkId2_] i")) { 
     alert("Button 2 is Click"); 
    } 
    return; 
}); 

答えて

0

私はあなたが最も近くを使用することをお勧め:

$('#tbltest tbody').on('click', 'tr', function (e) { 
    e.preventDefault(); 
    if ($(e.target).closest("[id^=checkId_]").length) { 
     alert("Button 1 is Click"); 
    } else if ($(e.target).closest("[id^=checkId2_]").length) { 
     alert("Button 2 is Click"); 
    } 
}); 
+0

私はあなたのコードと作業罰金を試してみてください。そして、私はこの '(checkId2_)'のようなIDを変更しようとしています。理由は何ですか? – KiRa

+0

'#checkId2_'というIDのボタンはありますか? – madalinivascu

+0

'#'は 'ID'を意味していますか?上記の入力ミス。 ( "#checkId2_") – KiRa