0

选中后,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');

    });
}

hasClass 之后仍然找不到禁用的类$('.contact').addClass('disabled');

所以,我只想要第一个警报。

演示:

http://jsfiddle.net/dWGNJ/2/

4

2 回答 2

0

.disabledJS 运行时没有元素,因此 no.contactclick().

于 2013-10-03T23:45:45.590 回答
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');
});

相同的概念。

于 2013-10-03T23:50:03.770 回答