私のjsでは、各テーブル行に対してクリックイベントを設定しました。 これは正常に動作します。 この表の最後の列だけのクリックイベントを削除しようとしましたが、動作しません。最後の列のクリックイベントを無効にする
理由はありますか?セレクタは正しいのですか?それとも、tdの最後の子以外のものを選択する必要がありますか?
function addRowHandlers() {
var table = document.getElementById("klauselliste");
var rows = table.getElementsByTagName("tr");
for (i = 0; i < rows.length; i++) {
var currentRow = table.rows[i];
var createClickHandler =
function (row) {
return function() {
var cell = row.getElementsByTagName("td")[0];
var name = cell.innerHTML;
window.location.href = '/Klausel/Detail?Name=' + name.trim();
};
};
currentRow.onclick = createClickHandler(currentRow);
}
// Code Snippet
addRowHandlers();
$("td:last-child").unbind("click");
// Code Snippet
「$( "td")。last()。off( "click"); 'を試してください。しかし、jQueryでhtmlイベントをバインドすることができない場合は、jQueryで作成されていないときはわかりません。なぜそれを 'html方法'で作成するのですか?jQueryでそれを解除しますか? – eisbehr
少なくとも 'rows.length - 1'を使用してください...しかし、このすべてのコードの代わりに、jQueryを使用して関連するクリックイベントをバインドしてください。 –