JS vapros

5 отговора 166 прегледа
#1

JS vapros

Privet,

ima li nacin da se izvikva nqkakva JS funkciq pri onmouseover za kojto i da e link ot fajla, bez obace da pisha onmouseover = ..... za vseki link pootdelno ?

10x

Отговор
в отговор на Miro #2

Re: JS vapros

da, vsi4ki linkove v edin sait sa elementi ot masiv, dostypen kato JS obekt. Trqbva da stane s ne6to kato document.links[j], kydeto s j moje6 da iterira6 prez vsi4ki nali4ni linkove. Prosto vij v DOM-a dali be6e to4no "links" i dali sledva6e sled document. Ina4e stava

It`s more fun to compute

Отговор
в отговор на voyager #3

... или малко по-подробно

<head>
....
....
<script language="JavaScript">
<!--

function OverLink(){
// функцията дето ще се изпълнява
}

function InitLinkEvents(){
var DocLinks=document.links;
for(m=0;m<=DocLinks.length-1;m++){
DocLinks(m).attachEvent('onmouseover', OverLink);
}
}

//-->
</script>
</head>

<body onload="InitLinkEvents();">
....
....
<p><a href="alabala">Hyperlink 1</a></p>
<p><a href="alabala">Hyperlink 2</a></p>
<p><a href="alabala">Hyperlink 3</a></p>
....
....


Ако обаче по-късно се налага да attach-ваш нещо друго на onmouseover на някой link, трябва да разкараш предишния attach с detachEvent

Редактирано от By Dimo на

Отговор
в отговор на By Dimo #4

Това е...

IE only... в Нетскейп 4.7 също има links[], които естествено нямат кьорав attachEvent, а в Mozilla това е deprecated... там просто трябва да проверяваш кой линк извиква евента... Там също така няма attachEvent, а се иползва AddEventListener... Като съответно при инициализацията на JS требе да обходиш сички линкове и да им закачиш по евентче (по-лесния начин е да го закачиш направо за document, ама ще се изгърчиш докато го накараш да работи

There are three determined states the cat could be in: Alive, Dead, and Bloody Furious.
Отговор
в отговор на Koтapakът нa Шpьoдинrep #5

Re: Това е...

ami shto ne opitash da dadesh funkcijata da se izpalnjava na onmouseover na body-to i posle da razchitash na event bubbling kato da se izpalnjava neshtoto koeto iskash samo ako elementa, na kojto si over e link (t.e. predi izpalnenieto na koda kojto shte slojish, parvo da proverjavash window.event.srcElement - dokolkoto si spomnjam se pisheshe taka)

vsichko e otnositelno
Отговор
в отговор на css #6

В...

Netscape и Mozilla е e.currentTarget.id или name или квот там ти требе за разпознаване

There are three determined states the cat could be in: Alive, Dead, and Bloody Furious.
Отговор