Во второй (правой/бинговой) записи таблицы я понимаю, почему наведение от изображения на строку «bing» может привести к увольнению bingfn()
.Настройка onmouseover на ячейке таблицы
Но первая (левая/google) таблица имеет onmouseover
в <td>
, поэтому я ожидаю, что зависание от изображения к тексту и обратно не приведет к увеличению счетчика. Почему счетчик увеличивается? И что-то не так с наличием единственного <a>
вокруг комбинации предметов (<img>
, <br />
, и некоторый текст, в данном случае)?
<!DOCTYPE html>
<html>
<head>
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<meta content="utf-8" http-equiv="encoding">
</head>
<body>
<h3>On Mouse Over in tables</h3>
<table>
<tr>
<td onmouseover="googlefn()">
<a href="http://google.com/">
<img width="100" src="google.jpg">
<br />
Google
</a>
</td>
<td>
<p onmouseover="bingfn()">
<a href="http://bing.com/">
<img width="100" src="bing.jpg"><br />
Bing</a></p>
</td>
</tr>
<tr>
<td id="gcountarea">G.count</td>
<td id="bcountarea">B.count</td>
</tr>
</table>
<script>
var gcount = 0;
var bcount = 0;
function googlefn() {
document.getElementById("gcountarea").innerHTML = gcount+=1;
}
function bingfn() {
document.getElementById("bcountarea").innerHTML = bcount+=1;
}
</script>
</body>
</html>
Если вы хотите, я могу сделать мой ответ элегантен, как хорошо, хотя функциональная мощь следует предпочесть ... и работать :) – LGSon
@LGSon Я хотел бы это. Я еще не проверил «правильный» ответ, потому что вижу, что то, что вы написали, технически полностью отвечает на вопрос, сохраняя мой грязный код, в то время как ответ Сукимы указывает, как это должно быть сделано, пропуская суть вопроса: как чтобы избежать ненужного запуска событий. Итак, добавление к вопросу: предположим, что рассматриваемая таблица довольно обширна. Как бы вы это сделали? – Calaf