У меня есть div, который ждет перехода по событию. Затем он помещает div для информации.Мышь не работает
Проблема у меня есть, чтобы удалить прослушиватель событий правильно & также удалить созданный div ... по какой-то причине он не может найти дочерний div, который я создал.
Так что это мой сценарий, который я попробовал:
div.addEventListener('mouseover',bubble_info,false);
function bubble_info(e){
var x = e.pageX + 50; //push it 50px to the right
var div = document.createElement('div');
div.style.position = 'absolute';
div.style.top = e.pageY;
div.style.left = x;
div.className = 'bubble';
div.innerHTML = 'Testing this div';
this.appendChild(div);
//stop firing if mouse moves around on the parent as it is still "over" the parent
this.removeEventListener('mouseover',bubble_info,false);
//when mouse out occurs the below should fire
this.addEventListener('mouseout',function(){clear_hover.call(this,div);},false);
}
function clear_hover(child){
//remove the bubble div we made
child.parentNode.removeChild(child);
//remove the mouse out as we are now out
this.removeEventListener('mouseout',function(){clear_hover.call(this,div);},false);
//re-add the mouseover listener encase user hovers over it again
this.addEventListener('mouseover',bubble_info,false);
}
Может ли один видеть ошибки я делаю здесь, просто не могу понять, почему все пошло не так для мыши из.
Dev инструменты показывает Cannot call method 'removeChild' of null
вы не можете просто вызвать clear_hover как этот 'clear_hover (дел) '? – fmodos
Ну, я мог бы. Но я всегда думал о том, чтобы посмотреть родительский указатель ребенка, вместо того, чтобы просто «это» будет больше платить за браузер. – Sir