Si potrebbe legarsi al tavolo, ma che lascerebbe aperta la possibilità che si potrebbe fare clic all'interno della spaziatura tra le celle (che non ha una riga o indice di cella). Nell'esempio seguente ho deciso che legherei alle celle stesse e quindi assicurerei sempre un indice di riga e di cella.
var tbl = document.getElementsByTagName("table")[0];
var cls = tbl.getElementsByTagName("td");
function alertRowCell(e){
var cell = e.target || window.event.srcElement;
alert(cell.cellIndex + ' : ' + cell.parentNode.rowIndex);
}
for (var i = 0; i < cls.length; i++) {
if (cls[i].addEventListener) {
cls[i].addEventListener("click", alertRowCell, false);
} else if (cls[i].attachEvent) {
cls[i].attachEvent("onclick", alertRowCell);
}
}
Demo: http://jsbin.com/isedel/2/edit#javascript,html
suppongo che si possa tranquillamente associare alla tabella stessa troppo, ed eseguire un controllo contro l'elemento sorgente per vedere se era una cella oppure no:
var tbl = document.getElementsByTagName("table")[0];
function alertRowCell (e) {
var cell = e.target || window.event.srcElement;
if (cell.cellIndex >= 0)
alert(cell.cellIndex + ' : ' + cell.parentNode.rowIndex);
}
if (tbl.addEventListener) {
tbl.addEventListener("click", alertRowCell, false);
} else if (tbl.attachEvent) {
tbl.attachEvent("onclick", alertRowCell);
}
Demo: http://jsbin.com/isedel/5/edit
possibile duplicato di [Javascript: Get cellulare Location] (http://stackoverflow.com/questions/4998953/javascript-get-cell-location) - si prega di utilizzare la ricerca prima fai una nuova domanda –
@Felix, ho fatto la ricerca, e nessuna delle stringhe che ho usato mi è venuta in mente. Questo dovrebbe funzionare un po 'meglio per le persone che usano la ricerca più tardi in quanto utilizza termini più comuni. –
In base a ciò che ha pubblicato Jonathan Sampson, l'ho usato. http://jsbin.com/iqavad/edit#javascript,html –