有没有办法过滤 jQuery 中未触发事件的匹配元素?

发布于 2024-12-22 03:48:40 字数 155 浏览 0 评论 0原文

我的页面上有很多带有 .photo 类的元素。

我这样选择它们:

 $('#photos-container .photo').hover ...

有没有办法过滤掉未触发悬停事件的元素?

I have a lot of elements with a .photo class on my page.

I select them this way:

 $('#photos-container .photo').hover ...

Is there a way to filter out the elements that didn't fire the hover event?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

宛菡 2024-12-29 03:48:40

怎么样

$('#photos-container .photo').hover(function(e) {
  var elementsThatDidntFire = $('#photos-container .photo').not(this);
}

What about

$('#photos-container .photo').hover(function(e) {
  var elementsThatDidntFire = $('#photos-container .photo').not(this);
}
寄意 2024-12-29 03:48:40

使用 .not 过滤:

$('#photos-container .photo').hover(function() {
    $('#photos-container .photo').not(this).addClass('hover');
}, function() {
    $('#photos-container .photo').not(this).removeClass('hover');
});

代码:http://jsfiddle.net/T6xGj/5/

Use .not filtering:

$('#photos-container .photo').hover(function() {
    $('#photos-container .photo').not(this).addClass('hover');
}, function() {
    $('#photos-container .photo').not(this).removeClass('hover');
});

Code: http://jsfiddle.net/T6xGj/5/

ぃ弥猫深巷。 2024-12-29 03:48:40

与 DaDaDom 的答案类似,但它会缓存元素,这样您就不必在每个事件上重新选择。

var photos = $('#photos-container .photo').hover(function(e) {
  var elementsThatDidntFire = photos.not(this);
});

Similar to DaDaDom's answer, but it caches the elements so you don't reselect on every event.

var photos = $('#photos-container .photo').hover(function(e) {
  var elementsThatDidntFire = photos.not(this);
});
焚却相思 2024-12-29 03:48:40
$('#photos-container .photo').hover(function(e) {
    var elementsThatDidntFire = $('#photos-container .photo').filter(function() {
        return this !== e.target;
    });
}, function() {

});

http://jsfiddle.net/aUmNK/3/

$('#photos-container .photo').hover(function(e) {
    var elementsThatDidntFire = $('#photos-container .photo').filter(function() {
        return this !== e.target;
    });
}, function() {

});

http://jsfiddle.net/aUmNK/3/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文