首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当具有特定类的元素被悬停时,如何调用js函数?

当具有特定类的元素被悬停时,如何调用js函数?
EN

Stack Overflow用户
提问于 2016-05-04 07:15:08
回答 6查看 4.6K关注 0票数 2

当某个特定类的元素悬停时,我试图调用一个函数。假设有100个div,其中50个有类测试,所以我想要的是当我在类测试的div上悬停时应该调用一个函数。

代码语言:javascript
运行
复制
<div class="test" mouseover="myfunc()">
</div>
<div class="test" mouseover="myfunc()">
</div>
<div class="test" mouseover="myfunc()">
</div>
.
.
.
<script type="text/javascript">
function myfucn(){......}
</script>

但是这太繁琐了,所以我想要的是一个通用的方法,它可以针对所有的测试类元素,而不需要一次又一次地编写mouseover事件。我只喜欢javascript(因为我当时正在学习),但jquery没有问题。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2016-05-04 07:23:34

如果你不使用Javascript的话。尝试像这样使用Jquery。

代码语言:javascript
运行
复制
function doSomeThing(){
     //do something
}

$("div.test").hover(function(){
     doSomeThing();
});

如果只想要Javascript,请尝试如下:

代码语言:javascript
运行
复制
function doSomeThing(){
    //do something
}

var el = document.getElementsByClassName("test");
for (i in el){
    el[i].addEventListener("mouseover", function(){
        //do something here

        //or call a function
        doSomeThing();
    });
}

更多信息

当你做document.getElementsByClassName("test");

您将以Array的形式获得它。然后,您必须添加一个addEventListener("mouseover"),以使他们知道什么时候他们徘徊。在此之后,您可以在它的函数中编写想要做的事情。

票数 5
EN

Stack Overflow用户

发布于 2016-05-04 07:22:03

你可以:

  • 获取所有元素(例如,使用getElementsByClassName),然后将事件处理程序绑定到每个元素(使用addEventListener)或
  • 将事件处理程序绑定到这些元素的祖先,然后每次事件触发时,检查事件对象的target属性(这是事件处理程序函数的第一个参数),以确定它是否是您所关心的类的元素。
票数 1
EN

Stack Overflow用户

发布于 2016-05-04 07:23:55

该方法利用了jQuery

代码语言:javascript
运行
复制
$('.myClass').hover(function () {
  // Do stuff here
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37020867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档