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