我希望有一种方法可以使用一个事件处理程序来做到这一点。请允许我解释一下:
考虑到这个简单的 html 片段,它复制了我正在处理的东西的想法:
<div class="navRow">
<!-- 5 child divs in here -->
<div id="box-bambin" class="yellow-box navbox">
Content 1
</div>
<div id="box-mamiepom" class="green-box navbox">
Content 2
</div>
<div id="box-amusailes" class="orange-box navbox">
Content 3
</div>
<div id="box-fracomousse" class="red-box navbox">
Content 4
</div>
<div id="box-pommeEnchantee" class="blue-box navbox">
Content 5
</div>
</div>
我已经为所有内部 div 分配了事件处理程序,但我很确定可以在外部 div 上设置一个事件处理程序并捕获内部 div 上的事件。当我在外部 div .navRow 上设置事件处理程序时,我的鼠标会捕获外部 div 事件。
$('.navRow', context).mouseover(function (event, domEle) {
var targetBox = $(event);
console.log("captured event target = " + event.currentTarget);
$('.navRow').each(function(){
if($(this).attr('id') == $(event.target).attr('id')){
// Found match do nothing.
console.log("matched = " + $(this).attr('id'));
} else{
console.log("this = " + $(this).attr('class'));
//* change for image.
}
});
});
在这一点上,我只是想获得鼠标悬停的内部 div。拜托,我非常需要任何关于我正在做的不良用法的批评/提示。我尝试过的任何东西都没有给我鼠标悬停的内部元素#id。
我尝试了 .target 和 currentTarget 属性,但它们没有给出正确的内部 div 对象 ID。
有没有办法解决这个问题,或者所有内部对象都需要绑定到事件处理程序?
- 我有一段类似的代码可以与内部事件处理程序一起正常工作,只是想复制代码行为,如果可能的话,使用一个事件处理程序。
我在想这就是更大的应用程序的工作方式,我的意思是没有所有这些事件处理程序会在某种程度上简化事情,似乎?
谢谢。