/ / Bootstrap table - non è possibile aggiungere eventi click su tr - javascript, jquery, twitter-bootstrap

Tabella Bootstrap - impossibile aggiungere eventi click su tr - javascript, jquery, twitter-bootstrap

Sto usando la tabella Bootstrap (http://wenzhixin.net.cn/p/bootstrap-table/docs/index.html)

Sto cercando di aggiungere un evento click

$("tr").click(function(){ console.log("test"); });

ma non funziona. So che c'è un evento nella libreria bootstrap-table, ma è importante per me usarlo esattamente con jQuery "s .click. Sai cosa blocca questo evento nel codice sorgente del bootstrap-table? Ho provato a rimuovere tutti i ".off" da bootstrap-table.js, ma non ha aiutato.

risposte:

24 per risposta № 1

Penso che tu possa usare il onClickRow o click-row.bs.table evento invece dell'evento tr click, ecco il documentazione e esempi.

Esempio di codice:

// Fires when user click a row
$("#table").bootstrapTable({
onClickRow: function (row, $element) {
// row: the record corresponding to the clicked row,
// $element: the tr element.
}
});

// or
$("#table").on("click-row.bs.table", function (e, row, $element) {
// console.log(row, $element);
});

(Sono l'autore di Bootstrap Table, spero di aiutarti!)


4 per risposta № 2

Prova questo

 $("table").on("click", "tr" , function (event) {
console.log("test");

});

0 per risposta № 3

ho provato con questo codice, successo per ottenere valore trovare td (td: eq (1)).

        $("#tbname").on("change", "tr" , function (event) {
if($(".selected")){
kode =$(".selected").closest("tr").find("td:eq(1)").text();
$("input").val(kode);
}

0 per risposta № 4

Solo alcuni giorni fa ho iniziato a utilizzare questo utile plugin, ero di fronte allo stesso problema e l'utente wenyi ha dato una buona risposta, ma piuttosto complesso per le persone che stanno iniziando.

/* You have this table */
<table id="my-table">
<tr>
<a href="#" class="my-link">Details</a>
</tr>
</table>

/* You have to options to detect this click (and more) */

/* Normal way */
$(".my-link").click(function(){
//do something
});

/* To solve this click detection problem you will need to use this */
$("#my-table").on("click",".my-link",function(){
//do something
});

Perché? poiché ogni volta che un elemento html viene aggiunto dinamicamente nel DOM, non possono essere rilevati con la normale "funzione clic".

Additonally:

/* Even you can use this method, but the performance is less */
$(document).on("click",".my-link",function(){
//do something
});