Javascript JS悬停链接调用函数,但只调用一次?

Javascript JS悬停链接调用函数,但只调用一次?,javascript,jquery,Javascript,Jquery,我有一个简单的html页面,有很多链接 当链接悬停在上面时,它会调用一个函数dothis(),该函数会更改页面上div的内容,但我只希望它为每个链接运行一次函数,无论它悬停多少次 例如,如果用户将鼠标悬停在某个特定链接上,将鼠标移开并再次悬停,则不会再次加载该函数(每个链接都有1个悬停限制,因此用户可以将鼠标悬停在链接a上,然后链接B在悬停时仍可以运行该函数(但每个链接只能运行一次)) 我已经加载了jquery,如果这能让事情变得更简单的话 有什么办法吗?使用 .one() 描述:将处理程

我有一个简单的html页面,有很多链接

当链接悬停在上面时,它会调用一个函数
dothis()
,该函数会更改页面上div的内容,但我只希望它为每个链接运行一次函数,无论它悬停多少次

例如,如果用户将鼠标悬停在某个特定链接上,将鼠标移开并再次悬停,则不会再次加载该函数(每个链接都有1个悬停限制,因此用户可以将鼠标悬停在链接a上,然后链接B在悬停时仍可以运行该函数(但每个链接只能运行一次))

我已经加载了jquery,如果这能让事情变得更简单的话

有什么办法吗?

使用

.one() 

描述:将处理程序附加到元素的事件。这个 每个元素最多执行一次处理程序

使用

描述:将处理程序附加到元素的事件。这个 每个元素最多执行一次处理程序

你可以用在

你可以用在

我是这样做的:

当用户将鼠标悬停在链接上时,函数将检查内部变量。如果为null,则函数将设置内部变量,以便不会多次调用dothis()函数

<!DOCTYPE html>
<html>
    <head>
        <title>Hover Once</title>
    </head>
    <body>


        <a href="#" onmouseover="onHover(this)">Link 1</a>
        <a href="#" onmouseover="onHover(this)">Link 2</a>
        <a href="#" onmouseover="onHover(this)">Link 3</a>

        <script>

            function onHover(element) {

                if(element.alreadyHovered == null) {
                    console.log("call dothis()");
                    element.alreadyHovered = true;
                }

            }

            </script>

    </body>
</html>

盘旋一次
函数onHover(元素){
if(element.alreadyHovered==null){
log(“调用dothis()”);
element.alreadyHovered=true;
}
}
以下是我的做法:

当用户将鼠标悬停在链接上时,函数将检查内部变量。如果为null,则函数将设置内部变量,以便不会多次调用dothis()函数

<!DOCTYPE html>
<html>
    <head>
        <title>Hover Once</title>
    </head>
    <body>


        <a href="#" onmouseover="onHover(this)">Link 1</a>
        <a href="#" onmouseover="onHover(this)">Link 2</a>
        <a href="#" onmouseover="onHover(this)">Link 3</a>

        <script>

            function onHover(element) {

                if(element.alreadyHovered == null) {
                    console.log("call dothis()");
                    element.alreadyHovered = true;
                }

            }

            </script>

    </body>
</html>

盘旋一次
函数onHover(元素){
if(element.alreadyHovered==null){
log(“调用dothis()”);
element.alreadyHovered=true;
}
}

可能的复制品---新年快乐!可能的复制品——新年快乐!我在jquery文档中找不到alreadyHovered…我需要在onHover函数之外的脚本中将其设置为变量吗?Javascript是一种解释性的原型语言;您可以将新变量粘贴到对象上,而不需要任何复杂的操作。假设变量ALREADYHORED不是HTML元素已经使用的关键字,那么它可以被命名为任何名称。编辑:即使这样,你通常也可以这样做。我在jquery文档中找不到alreadyHired…我需要在onHover函数之外的脚本中将其设置为变量吗?Javascript是一种解释性的原型语言;您可以将新变量粘贴到对象上,而不需要任何复杂的操作。假设变量ALREADYHORED不是HTML元素已经使用的关键字,那么它可以被命名为任何名称。编辑:即使这样,你通常仍然可以这样做。
<!DOCTYPE html>
<html>
    <head>
        <title>Hover Once</title>
    </head>
    <body>


        <a href="#" onmouseover="onHover(this)">Link 1</a>
        <a href="#" onmouseover="onHover(this)">Link 2</a>
        <a href="#" onmouseover="onHover(this)">Link 3</a>

        <script>

            function onHover(element) {

                if(element.alreadyHovered == null) {
                    console.log("call dothis()");
                    element.alreadyHovered = true;
                }

            }

            </script>

    </body>
</html>