点击3次后禁用按钮

时间:2012-08-24 08:27:43

标签: javascript jquery

我有一个表单,有一个名为add rows的按钮。我想在用户点击三次后禁用此按钮。

2 个答案:

答案 0 :(得分:4)

你可以在按钮上设置一个点击计数器,但看到它被称为“添加行”,我想你可能只计算行数,并确定是否应该以这种方式禁用它。

bool disabled = true;
$('#add-rows').prop('disabled', disabled);

用您最喜欢的计算行数的方法替换true

答案 1 :(得分:1)

来自Google Triple Click Event的热门答案:

$.event.special.tripleclick = {

    setup: function(data, namespaces) {
        var elem = this, $elem = jQuery(elem);
        $elem.bind('click', jQuery.event.special.tripleclick.handler);
    },

    teardown: function(namespaces) {
        var elem = this, $elem = jQuery(elem);
        $elem.unbind('click', jQuery.event.special.tripleclick.handler)
    },

    handler: function(event) {
        var elem = this, $elem = jQuery(elem), clicks = $elem.data('clicks') || 0;
        clicks += 1;
        if ( clicks === 3 ) {
            clicks = 0;

            // set event type to "tripleclick"
            event.type = "tripleclick";

            // let jQuery handle the triggering of "tripleclick" event handlers
            jQuery.event.handle.apply(this, arguments)  
        }
        $elem.data('clicks', clicks);
    }

};

像这样使用:

$("#mybutton").bind("tripleclick", function() {
   $(this).attr("disabled", "disabled");
}

请注意,您可能希望使用on代替bind,请参阅What's the difference between `on` and `live` or `bind`?