编程语言
首页 > 编程语言> > javascript – onMouseOver不触发特定功能

javascript – onMouseOver不触发特定功能

作者:互联网

我有一个非常令人困惑的问题,我想知道是否有人可以解释它.

我有一个DIV元素……

<div onm ouseout="scrollRight();" onm ouseover="scrollLeft();" id="rightScrollRegion" class="ScrollRegion"></div>

还有一个外部脚本文件…

function scrollLeft(){
        document.getElementById('rightScrollRegion').style.background = "#0000ff";
    }

    function scrollRight(){
        document.getElementById('rightScrollRegion').style.background = "#ff0000";
    }

问题是onmouseover似乎没有调用函数scrollLeft();或scrollRight();我似乎不明白我在哪里犯了错误.

我做了一些测试,看看它是否是函数中的东西……

window.onload = function(){

scrollLeft();

}

在外部文件中工作并在页面加载时更改DIV的背景…所以函数有效.

我也试过改变onmouseover中所谓的内容……

<div onm ouseover="alert('Hello');" id="rightScrollRegion" class="ScrollRegion"></div>

打印警报窗口就好了.

所以我想也许我无法使用onmouseover改变背景所以我试过……

<div onm ouseover="this.style.background = '#0000ff'" id="rightScrollRegion" class="ScrollRegion"></div>

这会改变背景,如预期的那样.

但由于某种原因,我不能让我的功能在DIV上触发.我在互联网上搜索,我一直无法找到问题的解决方案.我似乎无法找出我做错了什么.我在其他网站上使用过外部功能,但从不使用onmouseover,所以我不确定可能是什么问题.

任何帮助将不胜感激.

解决方法:

试试这个:

element = document.getElementById('rightScrollRegion');
element.addEventListener("mouseover",function(){
    this.style.background = "#0000ff";
});
element.addEventListener("mouseout",function(){
    this.style.background = "#ff0000";
});

避免使用内联事件处理程序.使用addEventListener方法将事件侦听器附加到元素.

你可以在这里试试:http://jsfiddle.net/gkvq8/

标签:javascript,onmouseover
来源: https://codeday.me/bug/20190725/1536671.html