Показать сообщение отдельно
  #1 (permalink)  
Старый 09.03.2014, 19:07
Новичок на форуме
Отправить личное сообщение для lovi Посмотреть профиль Найти все сообщения от lovi
 
Регистрация: 09.03.2014
Сообщений: 6

Как "addEventListener('change',...)" заменить на "onChange"?
Хочу кросс-браузерность сделать.

1) Как "addEventListener('change',...)" заменить на "onChange"?

2) Если произвести такую замену, то полная кросс-браузерность получится или еще что-то поменять надо?

Не знаю(правила форума не нашел) можно ли тут выкладывать ссылки. На всякий случай и ссылку и сам код выложу. http://jsfiddle.net/bMSj5/2/

.passive {
    display: none;
}

.active {
    display: block;
}

<select id="select">
    <option>Number List</option>
    <option id="first">number 1</option>
    <option id="second">number 2</option>
    <option id="third">number 3</option>
</select>

<div>
    <div class="passive" id="first-i">number 1 content</div>
    <div class="passive" id="second-i">number 2 content</div>
    <div class="passive" id="third-i">number 3 content</div>
</div>

var select = document.getElementById('select'),
    curr = null;

select.addEventListener('change', function() {

    var name   = this.options[this.selectedIndex].getAttribute('id'),        
        target = document.getElementById(name + '-i');
    
    if (curr) curr.className = 'passive';
    if (target) target.className = 'active';
    curr = target;
});
Ответить с цитированием