Показать сообщение отдельно
  #6 (permalink)  
Старый 04.05.2011, 22:33
Аватар для Armen
Кандидат Javascript-наук
Отправить личное сообщение для Armen Посмотреть профиль Найти все сообщения от Armen
 
Регистрация: 28.06.2009
Сообщений: 120

Сообщение от monolithed Посмотреть сообщение
Armen, вы написали полный бред...
я понимаю, если нужно несколько событий повестить на элемент:
<script type="text/javascript">
window.onload = function() {
    var event = ['keyup', 'change'], 
		forma = document.forms['forma'], 
		i = forma.elements.length;
    while(i--) {
       forma['on'+event[i]] = function(i) {
           return function() {
		      var input = this.elements[0].value;
		      this.elements[1].value = input == '' ? '' : input;
           };
      }(i);
    }
};
</script>
<form name="forma">
    <input type="text" value="" />
    <input type="text" value="" />
</form>


однако в вашем случае, я уверен больше чем на 100% что вы пытаетесь получить примерно это:
<script type="text/javascript">
window.onload = function() {
    var div = document.getElementById('div').getElementsByTagName('a'), i = div.length;
    while(i--) {
       div[i].onclick = function(i) {
           return function() {
				alert(i);
			};
      }(i);
    }
};
</script>
<div id="div">
	<a href="#">click</a>
	<a href="#">click</a>
	<a href="#">click</a>
</div>
Тоесть вы хотите сказать, что addEventListener и attachEvent нужно использовать только тогда, когда необходимо "весить" несколько событий на один элемент?

и вы считаете, что этот код полная чушь ?
<script type="text/javascript">

window.onload = function()
{
	var aTag = document.getElementsByTagName("A");
	
	var handler = function() { alert("Hello") }

	addEvent( aTag, 'click', handler );
	

	for( var i = 0; i <= aTag.length; i ++ )
	{
		var links = aTag[i];
		addEvent( links, 'click', handler );			
	}
	
	
	
}

function addEvent(elem, evType, fn) {
	if (elem.addEventListener) {
		elem.addEventListener(evType, fn, false);
	}
	else if (elem.attachEvent) {
		elem.attachEvent('on' + evType, fn);
	}
	else {
		elem['on' + evType] = fn;
	}
}
</script>


<body>

<a href="#">Click</a>
<a href="#">Click</a>
<a href="#">Click</a>
<a href="#">Click</a>
<a href="#">Click</a>
<a href="#">Click</a>
</body>


Я новичек в js поэтому буду крайне признателен, если вы объясните, почему. Спасибо большое за помощь

Последний раз редактировалось monolithed, 05.05.2011 в 14:25.
Ответить с цитированием