Не работает this в функции
Вставляю на страницу чекбокс, и назначаю ему обработчик.
Когда через html чекбоксу назначаешь обработчик на клик(onclick) - не работает: Цитата:
<html> <head></head> <script type="text/javascript"> function save_checkbox() { alert(this.id + ' = ' + (this.checked ? 1 : 0)) } function main() { var div = document.createElement('div') div.innerHTML = "<br><input type='checkbox' id=checkbox' onclick='save_checkbox()'>" document.querySelector('div').appendChild(div) } document.addEventListener("DOMContentLoaded", main) </script> <body class=txt bgcolor='#FFF' style='margin: 0;'> <center> <div>Text</div> </center> </body> </html> А если через JS, то работает: Цитата:
<html> <head></head> <script type="text/javascript"> function save_checkbox() { alert(this.id + ' = ' + (this.checked ? 1 : 0)) } function main() { var div = document.createElement('div') div.innerHTML = "<br><input type='checkbox' id='checkbox'>" document.querySelector('div').appendChild(div) document.querySelector('[type="checkbox"]').addEventListener('click', save_checkbox) } document.addEventListener("DOMContentLoaded", main) </script> <body class=txt bgcolor='#FFF' style='margin: 0;'> <center> <div>Text</div> </center> </body> </html> Почему не работает - то? Задолбала уже эта мистика... |
Цитата:
Это может сделать только современный метод addEventListener Тут бочком про это намекают... https://learn.javascript.ru/introduction-browser-events Цитата:
Цитата:
|
Ааа...
Спасибо ) |
Часовой пояс GMT +3, время: 13:44. |