javascript - 如何让每个 dom 分别响应 mouseenter()?

标签 javascript jquery html css dom

所以我在看到所有组件都受到 mouseenter() 的影响后添加了 .each(),但是因为这是一个画廊...我只希望一个组件受到影响..

$(document).ready(function(){
    $(".component").each(function(){
        $(this).mouseenter(function(){
            $(".primary").css({"margin-right":"0", "transition":"1s"});
            $(".secondary").css({"margin-left":"0", "transition":"1s"});
        });

        $(this).mouseleave(function(){
            $(".primary").css({"margin-right":"30px", "transition":"1s"});
            $(".secondary").css({"margin-left":"30px", "transition":"1s"});
        });
    });
});

最佳答案

在javascript中使用事件传播机制

var theParent = document.querySelector("#idOfParent");
theParent.addEventListener("mouseenter", doYourStuffforMouseEnterEvent,false);
theParent.addEventListener("mouseleave", doYourStuffforMouseLeaveEvent,false);

function doYourStuffforMouseEnterEvent(e) {
  if (e.target !== e.currentTarget) {
     var Item = e.target.id;
     alert("This item is the current hover item " + Item );
     $(".primary").css({"margin-right":"0", "transition":"1s"});
     $(".secondary").css({"margin-left":"0", "transition":"1s"});
   });
  }
 e.stopPropagation();
}

function doYourStuffforMouseLeaveEvent(e) {
  if (e.target !== e.currentTarget) {
     var Item = e.target.id;
     alert("This item is the current hover item " + Item );
     $(".primary").css({"margin-right":"30px", "transition":"1s"});
     $(".secondary").css({"margin-left":"30px", "transition":"1s"});
    });
  }
 e.stopPropagation();
}

关于javascript - 如何让每个 dom 分别响应 mouseenter()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39599511/

相关文章:

JavaScript Canvas : "Random" errors with collision detection

jquery - jQuery 实时点击事件的 event.target 错误

javascript - 有没有 "vqmod"允许多图片上传?

javascript - 在 javascript 中解析 JSON 对象(键/值对)

java - jquery 表单提交到 servlet

javascript - 如何使 Shift + Enter 在内容可编辑的 div 中表现得像 Enter?

php - 如何确保输入的输入是唯一的?

jquery - 如果 float 侧边栏比它高,我如何插入 div 包装

未知任意深度的Javascript对象导致脚本停止执行

jquery - 我可以使用循环连续淡入 div 吗?