Добрый день. Подскажите, в примере ниже для нового элемента- добавленное событие отрабатывает, а для старого элемента- обработчик события не добавляется- в чем может быть дело? Код (PHP): <!DOCTYPE HTML> <html> <head> </head> <body> <script type="text/javascript"> function giveOnclick(Element) { document.getElementById("changeIt").style.color = 'red'; return false; } var OnlineChat=new Object(); OnlineChat.divchat=document.createElement('div'); OnlineChat.divchat.id = "newElement"; OnlineChat.divchat.innerHTML = 'new Element'; OnlineChat.divchat.onclick=giveOnclick; document.getElementsByTagName("body")[0].appendChild(OnlineChat.divchat); document.getElementById("oldElement").onclick = giveOnclick; </script> <div id="oldElement">old Element</div> <div id="changeIt" style="color: green;">Изменить цвет</div> </body> </html>
Re: JS -сущ-ему элементу не навешивается событие (пример вну ну в такой нотации по идее элемент в дереве после попытки навесить событие идет. его к тому моменту еще нет.
Да, точно, спс Добавлено спустя 22 минуты 19 секунд: Re: JS -сущ-ему элементу не навешивается событие (пример внутри) Еще вопрос- как передать параметр в giveOnclick- ниже пример Код (PHP): <!DOCTYPE HTML> <html> <head> </head> <body> <div onclick="add();">add event</div> <div id="new">click to change color</div> <div id="changeIt" style="color: green;">Изменить цвет</div> <script type="text/javascript"> function giveOnclick(Element) { document.getElementById("Element").style.color = 'red'; return false; } function add(Element) { //document.getElementById("new").onclick = giveOnclick; document.getElementById("new").onclick = function(){giveOnclick("changeIt")}; // document.getElementById("new").onclick = function(){document.getElementById("changeIt").style.color = 'red';}; return false; } </script> </body> </html> Добавлено спустя 3 минуты 32 секунды: Re: JS -сущ-ему элементу не навешивается событие (пример внутри) нашел ошибку- "Element" заменить на просто Element
Re: JS -сущ-ему элементу не навешивается событие (пример вну Код (Text): <!DOCTYPE HTML> <html> <head> <script type="text/javascript"> function giveOnclick(Element) { Element.style.color = 'red'; } function add(Element) { document.getElementById("new").setAttribute("onclick","giveOnclick("+Element+")"); } </script> </head> <body> <div onclick="add('changeIt');">add event</div> <div id="new">click to change color</div> <div id="changeIt" style="color: green;">Изменить цвет</div> </body> </html>
Re: JS -сущ-ему элементу не навешивается событие (пример вну torrius, не должно быть инлайн скриптов в идеале
Re: JS -сущ-ему элементу не навешивается событие (пример вну согласен, в идеале должно быть все в идеале))), однако, был вопрос: параметр передан, скрипт работает. Если будет вопрос "как сделать в идеале", будет и соответствующий ответ