powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (JS) Добавление обработчика событию.
5 сообщений из 5, страница 1 из 1
(JS) Добавление обработчика событию.
    #33655862
i'm_novice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и снова здравствуйте!

Код: plaintext
1.
2.
3.
4.
5.
6.
<div id="helpMenuContainer" class="menuContainers">
   <span id="helpMenuHeader" class="menuHeaders">header</span>
	<div id="helpMenu" class="menuContents" minimized="false">
	   helpMenu
	</div>
</div>

хочу добавить событие onclick на span "helpMenuHeader" функцией
addEvent(elm, evType, fn, useCapture), но чтобы само действие распространялось
на div "helpMenu". получается:
Код: plaintext
1.
2.
3.
var el = document.getElementById('helpMenuHeader');
addEvent(el, 'click', someF("helpMenu"), false); //someF - функция, выполняющая
                                               // какие-то действия с дивом helpMenu

почему происходит выполнение someF сразу после заугрузки страницы и больше
не вызывается при кликаньи на span?
...
Рейтинг: 0 / 0
(JS) Добавление обработчика событию.
    #33656375
Фотография Robert Tappan Moris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
function addEvent (elem, evname, func)
    {
    if (window.showModalDialog)
        elem.attachEvent("on" + evname, func);
    else
        elem.addEventListener(evname, func, true);
    }

var el = document.getElementById('helpMenuHeader');
addEvent(el, "click", function () { someF("helpMenu") } );
...
Рейтинг: 0 / 0
(JS) Добавление обработчика событию.
    #33656577
i'm_novice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо
...
Рейтинг: 0 / 0
(JS) Добавление обработчика событию.
    #33657543
i'm_novice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
доброе время суток.

очередной трабл.
таких конструкций с дивами (см. первый пост) ява-скрипту заранее неизвестно.
id-шники у них, естественно, разные. поэтому я по классам нахожу нужные спаны и
дивы. вешаю на спаны клик и выполняю действия над дивами. т.к. поиск и
назначение события происходит в цикле, то в функцию передается id последнего
найденого спана дива, над которым и совершаются действия. но события висят
на каждом спане. и в какой спан не тыкни, результат только на последнем.
как установить соответствие, что каждому спану свой див?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
function createClick(tagName) 
{  
    if (!document.getElementsByTagName) return;
    Elements = document.getElementsByTagName(tagName);
	
    for (i =  0 ; i < Elements.length; i++) 
	{
        thisElement = Elements[i];
        
        if (((' '+thisElement.className+' ').indexOf("menuContainers") != - 1 )) 
		{ 
		  	var Nodes = thisElement.childNodes;

		  	for (j =  0 ; j < Nodes.length; j++) 
			{
			  	thisNode = Nodes[j];

			  	if (((' '+thisNode.className+' ').indexOf("menuHeaders") != - 1 ))
				{
					var Header = thisNode;
				}
				
				if (((' '+thisNode.className+' ').indexOf("menuContents") != - 1 ))
				{
					ContentId = thisNode.id;
				}
				
				if (Header && ContentId)
				{ 
				 	addEvent(Header, 'click', function () {blind(ContentId)}, false);
				}				
		  	}
              }
    }
}
...
Рейтинг: 0 / 0
(JS) Добавление обработчика событию.
    #33658124
i'm_novice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проблема решена.
убрал добавление события в отдельную функцию.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (JS) Добавление обработчика событию.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]