Главная страница


ru.website

 
 - RU.WEBSITE -------------------------------------------------------------------
 From : Serge Shikov                         2:5020/400     17 Jul 2002  21:08:01
 To : Ilya Nemihin
 Subject : Re: javascript DOM event handler
 -------------------------------------------------------------------------------- 
 
 
 Ilya Nemihin wrote:
 
 > 
 > вот есть задача динамически (DOM) сделать элемент и обработчик события на
 > него.
 > Пример, создается элемент <P> с текстом и при наведении мышкой на него
 > должен выполняться скрипт, простой alert. не работает (причем appendChild
 > для node 'script' не работает).
 
 А нафига для этого script-то создавать? Ты вполне можешь создать просто 
 функцию-обработчик, создать <P>, и назначить этому P как onxxx свою функцию.
 
 > <html>
 > <script>
 > function init(){
 >   e = document.createElement("p");
 >   e.setAttribute('id', 'h');
 >   e.appendChild( document.createTextNode('text for p') );
 
 p.onmouseover= new Function(...
 ... // вот примерно так
 );
 
 >   document.getElementsByTagName('body').item(0).appendChild( e );
 > 
 >   scr = document.createElement("SCRIPT");
 >   scr.setAttribute('language', 'JScript');
 >   scr.setAttribute('for', 'h');
 >   scr.setAttribute('event', 'onmouseover()');
 >   scr.text= "alert('text for usera');";
 
 Помимо всего прочего это еще и непереносимо. Приколы типа for и event 
 годятся только для MSIE, и не будут работать в других браузерах, потому 
 что в спеке на HTML этого нету и не было. И видимо уже не будет.
 
 Проще всего посмотреть на что-либо типа dynapi и его аналогов, потому 
 как все это давно уже сделано, много раз, и вполне с хорошим качеством.
 
 P.S. Лично я бы посоветовал сразу смотреть в сторону behaviors, если уж 
 хочется под MSIE и красиво. Это намного более модульное и элегантное 
 решение. А для мозиллы тоже самое делается через XUL. И кросс-броузерное 
 решение тоже возможно (хотя вряд ли для всех версий - опера и старые NN 
 больно кривы в этой области).
 
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 javascript DOM event handler   Ilya Nemihin   17 Jul 2002 15:06:11 
 Re: javascript DOM event handler   Serge Shikov   17 Jul 2002 21:08:01 
 Re: javascript DOM event handler   Ilya Nemihin   18 Jul 2002 09:21:24 
 Re: javascript DOM event handler   Serge Shikov   18 Jul 2002 12:18:14 
 Re: javascript DOM event handler   Raoul & Natalia Nakhmanson-Kulish   18 Jul 2002 11:12:35 
Архивное /ru.website/28254c760dec.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional