Javascript ondblclick
Javascript ondbclick
我有一个 table。我希望它的每个 "td" 在双击时调用一个事件。
所以,
var cell = document.getElementsByTagName('td');
cell.ondblclick = function() {
alert('You clicked me!');
};
我理解为 "When you click on a cell you get the alert message "你点击了我!”但由于某些原因它不起作用。
可变单元格存在(由控制台检查)
请大家帮忙解决问题![=12=]
getElementsByTagName
returns 一个 HTML 集合。您不能将事件添加到实时 HTMLCollection。您需要将事件添加到集合的每个元素。
var cell = document.getElementsByTagName('td');
for (var i = 0; i < cell.length; i++) {
cell[i].ondblclick = function() {
alert("clicked");
}
}
<table class="myTable">
<tbody>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
</tbody>
</table>
[在大多数情况下]更好的方法是向父级添加一次点击并使用事件委托,而不是向页面添加大量事件。
var myTbody = document.querySelector(".myTable tbody");
myTbody.addEventListener("dblclick", function(evt) {
var elem = evt.target;
if (elem.tagName === "TD") {
alert(elem.textContent);
}
});
<table class="myTable">
<tbody>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
</tbody>
</table>
var cells = table.getElementsByTagName("td");
for (var i = 0; i < cells.length; i++) {
cells[i].ondblclick = function() {
alert('You clicked me!');
};
}
我有一个 table。我希望它的每个 "td" 在双击时调用一个事件。 所以,
var cell = document.getElementsByTagName('td');
cell.ondblclick = function() {
alert('You clicked me!');
};
我理解为 "When you click on a cell you get the alert message "你点击了我!”但由于某些原因它不起作用。
可变单元格存在(由控制台检查) 请大家帮忙解决问题![=12=]
getElementsByTagName
returns 一个 HTML 集合。您不能将事件添加到实时 HTMLCollection。您需要将事件添加到集合的每个元素。
var cell = document.getElementsByTagName('td');
for (var i = 0; i < cell.length; i++) {
cell[i].ondblclick = function() {
alert("clicked");
}
}
<table class="myTable">
<tbody>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
</tbody>
</table>
[在大多数情况下]更好的方法是向父级添加一次点击并使用事件委托,而不是向页面添加大量事件。
var myTbody = document.querySelector(".myTable tbody");
myTbody.addEventListener("dblclick", function(evt) {
var elem = evt.target;
if (elem.tagName === "TD") {
alert(elem.textContent);
}
});
<table class="myTable">
<tbody>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
</tbody>
</table>
var cells = table.getElementsByTagName("td");
for (var i = 0; i < cells.length; i++) {
cells[i].ondblclick = function() {
alert('You clicked me!');
};
}