JS vapros
5 отговора
166 прегледа
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
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
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
It`s more fun to compute
... или малко по-подробно
<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
....
....
<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 на
Това е...
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.
There are three determined states the cat could be in: Alive, Dead, and Bloody Furious.
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
В...
Netscape и Mozilla е e.currentTarget.id или name или квот там ти требе за разпознаване 
There are three determined states the cat could be in: Alive, Dead, and Bloody Furious.
There are three determined states the cat could be in: Alive, Dead, and Bloody Furious.