Простая задачка: заполнить список произвольными данными, удалять строки списка по двойному клику. Решение:
var body = document.getElementsByTagName ("body")[0];
var select = document.createElement ("select");
select.size = 16;
body.appendChild (select);
for ( var i = 0; i < 16; i++ )
{
option = new Option ("Option #" + i.toString(), i, false, false);
select.options[select.options.length] = option;
option.ondblclick = function() {select.remove (select.selectedIndex)};
}
Список заполняется во всех браузерах, а вот удаление работает везде, кроме IE. В IE почему-то не срабатывает навешивание события option.ondblclick.
Если же событие навесить не на элементы списка, а на весь список:
select.ondblclick = function () {select.remove (select.selectedIndex)};
То работает везде, в том числе и в IE.
Поясните, с чем связана эта ситуация? Что элемент select, что элементы option, создаются динамически. На select событие работает, а на option - нет. Непонятно...