Показать сообщение отдельно
  #4 (permalink)  
Старый 06.05.2011, 21:24
Аватар для Amphiluke
   ☽
Отправить личное сообщение для Amphiluke Посмотреть профиль Найти все сообщения от Amphiluke
 
Регистрация: 07.01.2011
Сообщений: 254

В данном случае корректнее будет привязывать обработчик не через инлайновый атрибут onclick, а через Javascript-свойство onclick динамически создаваемого объекта HTMLDivElement. Или при помощи методов добавления слушателя.

Например,
function SimpleKeypad(inputObj) {
    this.inputObj = inputObj;
    this.html = '';
    this.create = function() {
        var div, frag = document.createDocumentFragment();
        for (var i = 0; i < 10; i++) {
            div = frag.appendChild(document.createElement("div"));
            div.onclick = (function(foo, j) { return function() { foo(j); }; })(this.inputObj, i);
        }
        document.getElementById('asdfasdf').innerHTML = "";
        document.getElementById('asdfasdf').appendChild(frag);
    }
}
Ответить с цитированием