如何在满足条件后添加其他单击功能

时间:2013-08-14 15:08:30

标签: javascript jquery html

我有一个人们基本上预订房间的表格。他们有一个房间立即可用,然后下面有2个隐藏(输入禁用)字段集。为了能够在将来添加任意数量的额外房间字段集,希望能够在所有当前额外房间可见时更改单击事件的功能(即,控制单独div /链接的可见性)这将链接到一个大型团体预订页面。)

我希望这是有道理的。

如果你需要html只是问,但这是我到目前为止:

$('.add-room').on('click', 'a', function(event){

    event.preventDefault();
    var next_to_show = $('#homepage-search-form .extra-room:hidden:first');

    $(next_to_show).slideDown(500);
    $(next_to_show).find('select').prop('disabled',false);

    var total_extra_rooms = $('.extra-room').length;
    var extra_rooms_visible = $('.extra-room:visible').length;

    if (total_extra_rooms == extra_rooms_visible) {
        $('.add-room').addClass('test');
    }

});

$(document).on('click', '.test', function(){
    //new click function here
});

我遇到的问题是,一旦total_extra_rooms等于extra_rooms_visible变量,就会调用.test函数。我希望在下次单击.test元素时调用它。

另一件需要注意的事情是,一旦有一个额外的房间字段集可见,它就会包含一个链接,可以在用户改变主意时删除它。

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:0)

你可以这样做:

if (total_extra_rooms == extra_rooms_visible) {
    setTimeout(function() {
        $('.add-room').addClass('test');
    }, 0);
}

这将等到当前操作之后添加test类。