Я хочу добавить обработчик событий для элементов ввода текста. Элементы управления генерируются динамически. Мой код, как:Не удалось установить обработчик событий в javascript
JavaScript:
var settings_check = new Array("checkVMName()","checkDiskMB()","checkMemMB()","checkEsx()","checkDatastore()");
...
_inputbox = document.createElement("input");
_inputbox.type = "text";
_inputbox.id = settings[zindex];
_inputbox.onblur = settings_check[zindex];
_hint = document.createElement("hint");
_hint.id = settings[zindex] + "_Label2";
_hint.innerText = settings_hint[zindex];
mycurrent_cel2.appendChild(_inputbox);
mycurrent_cel2.appendChild(_hint);
Но этот способ не работает. Я проверил HTML-код Firebug и атрибут «onblur» для ввода текста вообще.
HTML
<tr> <td>....</td> <td><input type="text" id="Datastore"> <hint id="Datastore_Label2">start with /</hint> </td> </tr>
Я также пробовал другие способы установки обработчика событий, как
_inputbox.onblur = function(){alert("test");};
или
_inputbox.setAttribute("onblur",func);
Ne он работает. :(
Если я вручную добавлю onblur = function() {...} для ввода текстового элемента управления в HTML с Firebug и выполним, onblur действительно работает. Поэтому возникает вопрос: как я могу установить обработчик событий для управления в JavaScript? есть ли что-нибудь неправильно в моем коде? Спасибо.
Спасибо, Джейкоб. Я считаю, что вы правы, даже я не пробовал ваше предложение, потому что код находится на моем домашнем ПК, и меня сейчас нет дома. Когда я попробую, я дам вам знать. Еще раз спасибо! – Landy 2010-12-08 01:50:43