Ho una tabella dinamica, caricata con ajax. Voglio mostrare un suggerimento quando passo il mouse su una riga , ma voglio che il suggerimento venga visualizzato su una determinata cella (con classe .name
) anziché sopra l'intera riga.Bootstrap Tooltip con opzione trigger e selettore manuale
Inoltre, utilizzando la funzione titolo, devo essere in grado di ottenere l'ID riga più vicino e restituire un modello personalizzato.
Ecco il mio codice:
<table class="table" id="myTable">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Country</th>
<th>Statistics</th>
</tr>
</thead>
<tbody>
<tr id="1">
<td >1</td>
<td class="name">Name #1</td>
<td>United States of America</td>
<td>100%</td>
</tr>
<tr id="2">
<td >2</td>
<td class="name">Name #2</td>
<td>United States of America</td>
<td>50%</td>
</tr>
</tbody>
</table>
inizializzazione:
$('#myTable').tooltip({
container: 'body',
html: true,
selector: 'td.name',
trigger: 'manual',
title: function() {
// here will be custom template
var id = $(this).parent().atrr('id');
return id;
}
});
Tentativo One: Demo in jsFiddle
$('#myTable')
.on('mouseenter focusin', 'tbody > tr', function() {
$(this).find('td.name').tooltip('show');
})
.on('mouseleave focusout', 'tbody > tr', function() {
$(this).find('td.name').tooltip('hide');
});
Tentativo Due: Demo in jsFiddle
var tip;
$('#myTable')
.on('mouseenter focusin', 'tbody > tr', function() {
tip = $(this).find('.offer-name');
tip.tooltip(hereAllTooltipOptions);
tip.tooltip('show');
})
.on('mouseleave focusout', 'tbody > tr', function() {
tip.tooltip('hide');
});
Ma mi chiedo notevolmente sulle prestazioni di una tale soluzione. Quindi, la domanda è come farlo e farlo meglio?
Grazie !! Questo è esattamente ciò di cui avevo bisogno :) Inoltre, ho appena scoperto che posso usare '$ cell.data ('bs.tooltip')' per verificare se il tooltip è stato inizializzato. – covfefe
La documentazione di bootstrap sul "selettore" è piuttosto vaga. Ho completamente trascurato la possibilità che i tooltip dinamici possano essere generati semplicemente al volo usando la funzione tooltip() e le opzioni stesse. Grazie! – Angad
Grazie per questo codice, sono stato in grado di usarlo anche per i popover. Anche a testa alta: intendo utilizzare questo codice senza attribuzione nei miei progressi poiché sembra che tu lo stia dando liberamente. –