Javascript OnMouseOver без атрибута - PullRequest
2 голосов
/ 17 ноября 2011

Я пытаюсь вызвать событие javascript onMouseOver без атрибута onMouseOver для каждого из моих атрибутов привязки.На самом деле я хочу отображать некоторые другие привязки, когда пользователь наводит мышью на элемент, но я даже не могу получить предупреждение о работе.Я получаю сообщение об ошибке:

Uncaught TypeError: Cannot call method 'getElementsByTagName' of null

, что не имеет смысла для меня, потому что, если я предупреждаю getElementById(), я получаю элемент DIV, который должензатем получите все теги привязки внутри этого элемента div ... Не уверен, что мне не хватает.

JSFiddle Link: http://jsfiddle.net/NfTtq/

Также обратите внимание, что я делаю этот Javascript, а не JQuery: S

Ответы [ 4 ]

3 голосов
/ 17 ноября 2011

Вы пытаетесь найти элемент до того, как он существует, вы можете сделать это в jsfiddle, выбрав onDomReady слева вместо no wrap (head)

Другая проблема - onMouseOver, случай javascriptчувствителен, поэтому будет работать только onmouseover.

Здесь обновляется jsfiddle:

http://jsfiddle.net/NfTtq/1/

1 голос
/ 17 ноября 2011

Вы выполняете скрипт до загрузки html, поэтому вам нужно поместить его в window.onload

http://jsfiddle.net/NfTtq/5/

window.onload= function()
    {

      var node = document.getElementById('navFloat').getElementsByTagName('a');
      node[0].onmouseover = function()
        {
            alert('yes');
            document.getElementById('homeDrop').style.display = 'block';            
        }
}
0 голосов
/ 06 февраля 2015

этот код будет работать во всех браузерах .....

<p>
<a href="/">
<img alt="Ovdje uključiti " 
src="errorimages/normal.png" 
onmouseover="this.src='errorimages/hover.png'" 
onmousedown="this.src='errorimages/press.png'" 
onmouseup="this.src='errorimages/hover.png'" 
onmouseout="this.src='errorimages/normal.png'"
></a>
</p>
0 голосов
/ 17 ноября 2011

Событие onMouseDown записывается только маленькими прописными буквами при вызове в DOM. Это сработало для меня:

var node = document.getElementById('navFloat').getElementsByTagName('a');
node[0].onmouseover= function()
{
    document.getElementById('homeDrop').style.display = 'block';
}
...