Сообщение от 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 поэтому буду крайне признателен, если вы объясните, почему. Спасибо большое за помощь