在悬停时添加和删除 CSS 类
add and remove css class on hover
所以我有这段代码,它可以工作:
$('.col-main').on('mouseenter', '.product-wrapper', function () {
$( this ).addClass( "js-hover" );
});
$('.col-main').on('mouseleave', '.product-wrapper', function () {
$( this ).removeClass( "js-hover" );
});
但我希望它更优雅一点。像这样:
listContainer.on( {
mouseenter: function() {
$( this ).addClass( "js-hover" );
console.log( "hoooover" );
},
mouseleave: function() {
$( this ).removeClass( "js-hover" );
}
}, productWrapper );
但我无法让它工作:)任何帮助不胜感激
我认为问题出在变量productWrapper
。尝试像跟随一样。
var listContainer=$('.col-main')
var productWrapper='.product-wrapper';
listContainer.on( {
mouseenter: function() {
$( this ).addClass( "js-hover" );
console.log( "hoooover" );
},
mouseleave: function() {
$( this ).removeClass( "js-hover" );
}
}, productWrapper );
像这样吗?
$('.col-main').on('mouseenter mouseleave', '.product-wrapper', function (e) {
$( this ).toggleClass( 'js-hover', e.type === 'mouseenter');
});
jQuery悬停和切换函数可能对你有用。
$('.element-selector').hover(function(){
$(this).toggleClass('.class-to-toggle');
}, function(){
$(this).toggleClass('.class-to-toggle');
})
小提琴:https://jsfiddle.net/sdso2219/
更新
由于您现在提到这需要适用于动态元素,请将 .hover 修改为 .live,例如:
$('.element-selector').live('mouseenter', function(){
$(this).toggleClass('.class-to-toggle');
}).live('mouseleave', function(){
$(this).toggleClass('.class-to-toggle');
})
相关文章:
- 如何修复:当javascript更改DOM时,iOS会删除CSS文件
- 无法删除css类并添加新类
- 在页面加载时删除CSS模式Flash
- 如何在svg元素上添加和删除css类
- 我们可以使用jquery删除css选择器吗
- 用程序从单个HTML元素中删除CSS样式规则
- 使用jquery在toggle上添加和删除css图像类
- 如何使用setTimeout添加和删除CSS类n次
- 在使用整页.js时滚动固定元素后添加或删除 css 类
- 如何使用 jQuery 删除 CSS 属性
- 根据屏幕宽度添加/删除 CSS ID
- 使用纯 JS 删除 CSS 属性失败
- 添加/删除 CSS 类属性以尊重不基于 Div id 的类
- 删除 CSS 规则在 Firefox 中不起作用
- 完全删除 CSS 属性
- 在悬停时添加和删除 CSS 类
- 使用 jQuery 在加载时删除 CSS 样式
- 删除 css 动画不起作用
- 如何即时删除 CSS 样式
- 如何构建一个jQuery驱动的切换器来添加/删除css属性