繁体   English   中英

使用 jQuery 检测是否将鼠标悬停在 div 中的图像上

[英]Detect if hovering over image in div with jQuery

我有一个例子:

<div class="class1" id="id_1">
test
</div>
function handler(ev) {
    let target = $(ev.target);
    let elId = target.attr('id');
    if( target.is("div[id^='id_']") ) {
         let lastChar = elId.substr(elId.length - 1);
       alert('The mouse was over'+ lastChar );
    }
}
$("div[id^='id_']").mouseleave(handler);

它的工作方式是,如果我将鼠标悬停在一个元素上,则会显示警报 - 如果我在此div中只有一张图片,则会出现问题 - 然后它不起作用。 如果我只有这样的图片,如何使它更好地工作,例如我有:

<div class="class1" id="id_1">
<img src="/img_src">
</div>

使用$(ev.currentTarget)$(this)来引用匹配选择器的元素,而不是任何作为后代的目标

 function handler(ev) { console.clear(); let $div = $(ev.currentTarget); let elId = $div.attr('id'); console.log('currentTarget id:', elId) $div= $(this); elId =$div.attr('id'); console.log('this id:', elId) } $("div[id^='id_']").mouseleave(handler);
 .class1{ margin: 1em; border: 1px solid green
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="class1" id="id_1"> <div class="inner">test 1</div> </div> <div class="class1" id="id_2"> <div class="inner">test 2</div> </div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM