我想给div添加一个mouseover事件,当鼠标在这个div上的时候,触发一个函数,但是鼠标离开之后,不会再触发这个函数,看我的代码。<script type="text/javascript">
var etrue = false;
function eventStart(obj){
etrue = true;
if(etrue == true)
{
var wheel = function(event) {  
                var delta = 0;  
                if (!event) /* For IE. */  
                    event = window.event;  
                if (event.wheelDelta) { /* IE/Opera. */  
                    delta = event.wheelDelta / 120;  
                } else if (event.detail) { 
                    delta = -event.detail / 3;  
                } 
                if (delta)  
                    handle(delta); 
                if (event.preventDefault)  
                    event.preventDefault();  
                event.returnValue = false;  
            };
      
            if (window.addEventListener) {  
                window.addEventListener('DOMMouseScroll', wheel, false);  
            } 
            window.onmousewheel = document.onmousewheel = wheel;  
      
            var handle = function(delta) {  
                var random_num = Math.floor((Math.random() * 100) + 50);  
                if (delta < 0) {  
                    alert("鼠标滑轮向下滚动:" + delta + "次!"); 
                } else {  
                    alert("鼠标滑轮向上滚动:" + delta + "次!");
                }  
            };
};
}
</script>
<body>
    <div id="div1">
     <div id="div2" style="width: 300px; height: 400px; background-color: #EEE;" onmouseover="eventStart(this)">
    
     </div>
    </div>
  </body>代码不全,效果是这样的,当我的鼠标在div上滚动滑轮时,会出现"鼠标滑轮向下滚动:几次!"的对话框,但是当我的鼠标移出div之后,再滚动滑轮同样会触发这个事件,不知道什么原因,求高人解答。javascriptmouseoverdiv

解决方案 »

  1.   

    大神 你用的是mouseover啊 本来就是要鼠标在div上才会出发的呀
      

  2.   

    问题是鼠标在div上面的时候没有触发,离开div的时候才会触发啊,而且鼠标再次放到div上的时候,同样地没效果。
      

  3.   

    他的是事件应该到window上了绑定到,不知道怎么回事 ,你用一个alert()代替你的函数是不会出现那样的异常 说明问题出在函数上
      

  4.   

    不是啊,我的意思是用alert替代函数表示事件的发生,这样简单,我把alert换成函数之后也是这样的问题的。
      

  5.   

    window.onmousewheel = document.onmousewheel = wheel;  
    你整个窗体都有了滚动的事件,那你在div的外面肯定也有这个事件
      

  6.   

    我记得当初改过这个,结果是不管鼠标放在里面还是外面,都不可以触发,我已经找到解决办法了,用jquery的mousewheel插件,其中还包括多浏览器支持的。