Bạn có thể liên kết với bàn, nhưng điều đó sẽ để ngỏ khả năng mà bạn có thể nhấp vào trong vòng khoảng cách giữa các tế bào (mà không có một hàng hoặc chỉ số tế bào). Tôi đã quyết định trong ví dụ dưới đây rằng tôi sẽ liên kết với các tế bào thân, và do đó đảm bảo tôi sẽ luôn luôn có một chỉ số hàng và tế bào.
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
Tôi cho rằng bạn có thể yên tâm liên kết với các bảng riêng của mình quá, và thực hiện một kiểm tra chống lại các yếu tố nguồn để xem nếu nó là một tế bào hay không:
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
thể trùng lặp của [Javascript: Nhận di Location] (http://stackoverflow.com/questions/4998953/javascript-get-cell-location) - vui lòng sử dụng tìm kiếm trước bạn hỏi một câu hỏi mới. –
@Felix, tôi đã tìm kiếm, và không ai trong số các dây Tôi đã từng nảy ra câu hỏi đó. Điều này sẽ hoạt động tốt hơn một chút đối với những người sử dụng tìm kiếm sau này vì nó sử dụng các thuật ngữ phổ biến hơn. –
Dựa trên những gì Jonathan Sampson được đăng, tôi đã sử dụng này. http://jsbin.com/iqavad/edit#javascript,html –