0

我有一个表单,带有一个名为添加行的按钮。我想在用户点击它三次后禁用这个按钮。

4

2 回答 2

4

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

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

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

于 2012-08-24T08:29:57.987 回答
1

从谷歌三次点击事件的最佳答案:

$.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,请参阅`on` 和 `live` 或 `bind` 有什么区别?

于 2012-08-24T08:33:02.087 回答