Опять трудность, на созданном диве работает. Но у меня див создается при событии, попробуй в свой код, в начало добавь вот это
window.onload = function(){
var div = document.createElement('div');
div.setAttribute('id','bla');
document.body.appendChild(div);
}
и уже не работает... до hover({.... я уже пробовал существование if(document.getElementById('bla')) - не помогло |
как раз у меня поэтому ошибка и вылазила... так как он дива того не видит
|
в jquery уже есть метод hover он встроенный используйте его
|
все работает
<!DOCTYPE HTML>
<html>
<head>
<style>
.d{
width:200px;
height:200px;
border:3px solid black;
}
</style>
</head>
<body>
<a href='#' id='create'>create</a>
<script>
function _(selector) {
return document.querySelectorAll(selector)[0];
}
_('#create').onclick = createElement;
function createElement(){
var div = document.createElement('div');
div.className='d';
document.body.appendChild(div);
hover({
elem:div,
over:function (){
alert('over');
},
out:function () {
alert('out');
}
})
return false;
};
function hover (opt) {
opt.elem.onmouseover = ElemMouseAction;
opt.elem.onmouseout = ElemMouseAction;
function ElemMouseAction (evt) {
var related, Call;
var e = evt || event;
if(e.type == 'mouseover'){
Call = opt.over;
related = e.relatedTarget || e.fromElement;
} else {
Call = opt.out;
related = e.relatedTarget || e.toElement;
}
while (related && related != this) {
related = related.parentNode;
}
if(related == this) return;
Call();
}
}
</script>
</body>
</html>
|
Спасибо огромное за такую помощь!
Все заработало просто я
hover({
elem:document.getElementById('bla'),
over:function () {// срабатывает при mouseover
alert('over');
},
out:function (){// срабатывает при mouseout
alert('out');
}
});
добавил в саму функцию, которая и создает див. Все отлично. Только теперь разберу, что к чему, до конца. Еще раз спасибо!) |
обошелся без jqvery
|
если нужна поддержка ие меньше 8 , функцию
function _(selector) {
return document.querySelectorAll(selector)[0];
}
не используйте |
я думаю, < 8 не будет, спасибо)
|
ну тогда тут описано как работает этот метод http://learn.javascript.ru/searching...electorall-css
|
| Часовой пояс GMT +3, время: 12:55. |