选中后,hasClass验证可以正常工作。
<div class="row dis">
<input class="contact button selected" value="Contact Us">
</div>
但是如果我通过jquery删除选中的内容:
<div class="row dis">
<input class="contact button" value="Contact Us">
</div>
if (!$('.dis > .contact').hasClass('disabled')) {
$("input.contact").click(function() {
alert('---');
$('.contact').addClass('disabled');
});
}
在$('.contact').addClass('disabled');
之后,hasClass仍未找到已禁用的课程。
所以,我只想要第一个警报。
演示:
答案 0 :(得分:0)
JS运行时没有.disabled
元素,因此,.contact
与click()
没有关联。
答案 1 :(得分:0)
你可以这样做..
$('input.contact').on('click',function(){
if( !$(this).hasClass('disabled') )
{
alert('---');
$(this).addClass('disabled');
}
});
基本上,点击input.contact
后,检查是否有.disabled
课程 - 如果没有,则会触发alert
并添加课程.disabled
- 其中反过来阻止它第二次点击时触发
或者你可以采用更优雅的方式:
$('.dis').on('click','input.contact:not(.disabled)',function(){
alert('---');
$('.contact').addClass('disabled');
});
相同的概念。