Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   повесить обработчик на событие (https://javascript.ru/forum/events/31680-povesit-obrabotchik-na-sobytie.html)

Ia_alex 16.09.2012 21:12

повесить обработчик на событие
 
При событии onclick событие onmouseout = null. Собственно вопрос-как в данном случае снова повесить обработчик на событие onmouseout ? Прошу сильно не пинать - JS начал изучать совсем недавно) Заранее спасибо.


window.onload = function () {
	  var content = document.getElementById('content');

 content.onclick = function (e) {
	    e = e || event;
	    var target = e.target || e.srcElement;
    if (target.className == 'add_message') {
          var m = target.id;
          var pos = document.getElementById(m) ;

           pos.style.left = e.pageX - 390 + "px";
     	pos.style.top = e.pageY - 350 + "px" ;

           if (!this.clicked){
            this.clicked = 1;
            pos.style.display =  "block";
            this.onmouseout = null;
            }
             else {
               this.clicked = 0;
               pos.style.display =  "none";
               }
             }
           }


 content.onmouseout = function (e) {                                 

      e = e || event;
      var target = e.target || e.srcElement;
    if (target.className == 'add_div') {
      function hide (){
         var m = target.id;
          var mes_id = m + "_message";
			if(document.getElementById && document.getElementById(mes_id))	{

       var hide = document.getElementById(mes_id);
        hide.style.display = "none";
  }
    }
    timeoutID = setTimeout(hide,500);
    if (hide.clicked){
        clearTimeout(timeoutID);
           }
         }
       }
     }

cyber 16.09.2012 21:45

все гениально просто, нужно вынести обработчики в отдельные функции
пример
onmouseout = OnMouseOutElem9999;
onmouseout = null;
onmouseout = OnMouseOutElem9999;
function OnMouseOutElem9999 () {
//......
}

Ia_alex 17.09.2012 13:23

спасибо ...разобрался):)


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