onmouseover和超链接悬停

时间:2010-11-17 17:41:19

标签: javascript html javascript-events onmouseover

我有一个带有链接的div,一旦你将鼠标悬停在它们上面就加下划线。我向div添加了一个onmouseover JS事件,现在当我将鼠标悬停在它们上方时,超链接不再加下划线,而是我在onmouseover事件中执行的任何操作都会被执行。

来自职能的CODE:

function addPlus(elementId)
{
 if(typeof addPlus.backup == 'undefined')
  addPlus.backup = document.getElementById(elementId).innerHTML;
 if(full)
 {
  document.getElementById(elementId).innerHTML = plusCode + addPlus.backup;
  return backup;
 }
 else
  return snippet;
}

div代码:

<div class="nav_bar" id="navbar1" onmouseover="addPlus('navbar1')" onmouseout="removePlus('navbar1')">

编辑:我们已尝试return true;return Boolean(true);return new Boolean(true);,试图&#34;返回true&#34;正如乍得所说。他们都没有工作。对不起,我真的不知道该怎么做;我是javascript的新手。

编辑2 :Darn it,我刚认识到Chad意味着我在div标签中返回true。所以现在我有<div class="nav_bar" id="navbar1" onmouseover="addPlus('navbar1');return true" onmouseout="removePlus('navbar1')">,但遗憾的是它仍然没有用。

3 个答案:

答案 0 :(得分:1)

如果您不希望触发js事件,则应在鼠标进入<a>时停止事件传播。尝试为每个超链接添加onmouseover事件处理程序,返回false - <a onmouseover="return false" ... - 这应该有帮助。

答案 1 :(得分:0)

要传播的事件,您需要从onmouseover处理程序返回true。

答案 2 :(得分:0)

  1. 如果您使用CSS为您的链接加下划线而不是JavaScript
  2. ,则不会发生这种情况
  3. 您可能有一些腐烂的代码,它们在HTML或JavaScript中明确设置onmouseover处理程序来处理链接下划线(而不是正确使用addEventListener),然后您将覆盖此处理程序。没有更多信息,很难猜出可能出现的问题。提供代码示例以获得更多帮助。