Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   Динамическое создание кнопки (https://javascript.ru/forum/css-html-internet-explorer/32882-dinamicheskoe-sozdanie-knopki.html)

mrbean11 02.11.2012 14:08

Динамическое создание кнопки
 
Здравствуйте.
С помощью javascript пытаюсь создать кнопку.
Вот код создания кнопки:
var btn = document.createElement('input')
btn.id = 'b1'
btn.type = 'button'
btn.value = 'button 1'
btn.setAttribute('onclick', 'obj.HandleClick1();')
document.body.appendChild(btn)

В браузерах opera и firefox кнопка создается и событие onclick успешно выполняется.
В браузере IE событие onclick не выполняется.
Если событие назначать так: (вызывается из obj.CreateButton())
...
btn.attachEvent('onclick', this.HandleClick1)
...

то оно выполняется, но объект this - это не объект obj, методом которого является HandleClick1().
Надеюсь, ясно изложил суть проблемы.
Как решить данную проблему?
Спасибо.

vadim5june 02.11.2012 14:37

Цитата:

Сообщение от mrbean11
но объект this - это не объект obj, методом которого является HandleClick1().

В ие такая особенность this на window указывает
в обработчике надо написать
function(e){var e=e||window.event;
var elem=e.srcElement||e.target;//elem это obj
}

nerv_ 02.11.2012 16:40

Цитата:

Сообщение от vadim5june
В ие такая особенность this на window указывает


http://habrahabr.ru/post/149516/


Часовой пояс GMT +3, время: 05:08.