Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   обработчик собития onMouseOver для фрейма (https://javascript.ru/forum/events/1272-obrabotchik-sobitiya-onmouseover-dlya-frejjma.html)

Rian 03.06.2008 16:56

обработчик собития onMouseOver для фрейма
 
есть допустим у меня страница с двумя фреймами(name="Menu",name="Main" например)..В каждый фрейм грузятся разные страницы *,html (без кнопок и всяких там объектов-пустые)..мне нужно чтобы при наведении мыши на какаой либо из этих фреймов (обработчик события onMouseOver) происходило какоето действие...например появлялось окошко alert() или еще чтонибудь..как это сделать?

Андрей Параничев 03.06.2008 17:25

<script>
function myOnMouseOver()
{
	alert('Hello, world!');
}
</script>
<body>
<iframe id="frame1" onMouseOver="myOnMouseOver()" src="frame.html"></iframe>
<iframe id="frame2" onMouseOver="myOnMouseOver()" src="frame2.html"></iframe>
</body>

?

Rian 03.06.2008 18:08

Это канеш работает спс...только можно ли сделать подобное не с <iframe> а с конструкцией типа этой:

<frameset cols="*,*">
<frame name="Menu">
<frame name="Main">
</frameset>

Андрей Параничев 03.06.2008 19:28

Rian,
<script>
function myOnMouseOver()
{
    alert('Hello, world!');
}
</script>
<frameset cols="*,*">
	<frame onMouseOver="myOnMouseOver()" name="Menu">
	<frame onMouseOver="myOnMouseOver()" name="Main">
</frameset>

:)

Rian 04.06.2008 15:57

))) спс

Rian 04.06.2008 16:00

))) спс..только работает в ИЕ а в опере(9.26) не работает

Андрей Параничев 04.06.2008 17:24

Rian,
Тогда можно попробовать вот так. Только вот ваша опера, после закрытия модального окна alert(), опять ловит событие onmouseover, вызывая второй алерт.
<script>
function myOnMouseOver()
{
    alert('Hello, world!');
}

window.onload = function()
{
	var frames = document.getElementsByTagName("frame");
	for(var i in frames)
	{
		var doc = frames[i].contentWindow.document || frames[i].contentDocument;
		doc.onmouseover = myOnMouseOver;
	}
}
</script>
<frameset cols="*,*">
    <frame name="Menu" src="some.html"></frame>
    <frame name="Main" src="some.html"></frame>
</frameset>


Еще добавлю, что из myOnMouseOver обращаться к скриптам из главного файла (где frameset) нужно будет через конструкцию parent. И если фреймы подгружаются с другого домена, ничего не заработает.

Rian 06.06.2008 19:48

спасибо..


Часовой пояс GMT +3, время: 12:46.