我有这样的结构
<div class='row'>
<span class="fake-label"></span>
</div>
<div class='row'>
<span class="fake-label"></span>
</div>
<div class='row'>
<span class="fake-label"></span>
</div>
当我点击任何&#39;假标签&#39; jquery代码是评估
$('span.fake-label').click(function() {
$(this).parents('.row').addClass('bet-popup-active');
$(this).parents('.row').find('.popup-bet').removeClass('js-slide-hidden');
$(this).parents('.row').find('.popup-bet').fadeIn(300).css('display','block');
setTimeout(function(){
$('.input-bet > input').focus();
},5);
});
问题是我无法弄清楚如何点击其他假冒标签&#39;从点击的&#39;假标签&#39;中删除jquery代码之前。
答案 0 :(得分:1)
如果我明白这就是你要找的东西:
$('span.fake-label').click(function() {
$(this).parents('.row').find('.popup-bet').each(function(){
$(this).removeClass('js-slide-hidden');
});
$(this).parents('.row').addClass('bet-popup-active');
});
只需从每个元素中删除该类,然后将新的元素添加到单击的元素中。
答案 1 :(得分:1)
如果您希望每个元素触发一次click事件,则应使用one() method:
$('label > span.fake-label').one( "click", function() {
$(this).parents('.row').addClass('bet-popup-active');
$(this).parents('.row').find('.popup-bet').removeClass('js-slide-hidden');
$(this).parents('.row').find('.popup-bet').fadeIn(300).css('display','block');
setTimeout(function(){
$('.input-bet > input').focus();
},5);
});
答案 2 :(得分:0)
我不确定你想要什么,但如果你想删除你在&#34; onclick&#34;中写的代码。对于元素的函数,你可以这样做:
$('.element').prop('onclick',null).off('click');