我有这个按钮,将其类从最大化更改为最小化。最初,它具有一个最大化类,但是在单击时会变为最小化。现在我想抓住最小化和仅最小化的点击。
看下面我的代码:
$('.button-maximize').off('click').on('click', function() {
$(this).removeClass('button-maximize').addClass('button-minimize');
});
因此,这将使类最小化。显然,我需要事件委托来捕获事件。
因此,我接下来要这样做:
$('.button-wrap').off('click').on('click', '.button-minimize:not(.button-maximize)', function() {
alert('test');
});
要澄清的button-wrap
是父母。所以我的问题是该警报('test'); 当我第一次单击最大化按钮时触发。我如何告诉jQuery仅在按钮没有“ button-maximize”类的情况下才希望它触发?
谢谢!
只需使用任一点击方式并进行检查即可。
$('.button-wrap').on('click', '.button-minimize, .button-maximize', function() {
if ($(this).hasClass('button-maximize')) {
$(this).removeClass('button-maximize').addClass('button-minimize');
} else {
alert('test');
}
});
编辑对评论的响应:这基本上是相同的事情,但关键是事件已附加到包装器。
$('.button-wrap').on('click', '.button-maximize', function() {
$(this).removeClass('button-maximize').addClass('button-minimize');
}).on('click', '.button-minimize', function() {
alert('test');
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句