在jquery中多次单击

时间:2013-04-07 19:31:33

标签: jquery

我正在尝试通过jquery模拟消息编写器。 例如,在第一次单击按钮2时 我需要得到一个“a”,第二个是第三次点击“b”和“c”。 我遇到了困难,因为如果我点击3次就会完成所有操作, 它不只是打印“c”。 感谢

var letters = [];

    $('#2').click(function (e) {
        letters.push('a');
        $('#2').click(function (e) {
            letters.push('b');
            $('#2').click(function (e) {
                letters.push('c');
            })
        })
        $('#mytext').append(letters);
    })

好的,所以如果我在按钮“#2”上点击两次,我会得到3“a”,我只需要一个“b”而不是

1 个答案:

答案 0 :(得分:0)

使用计时器在每次点击时存储变量和运行功能中的点击次数。如果计时器在下一次点击之前完成,它将根据变量中的当前数字打印字符,否则它将重置计时器。这是示例代码..

var counter=0;
var timerId=null;

$(document).click(function(){
    counter++;
    if (timerId != null)
        clearTimeout(timerId);

    // Executes after 500 milisecond .. You can increase the timer value..
    timerId = setTimeout(checkClickCount, 500);

});

function checkClickCount()
{
    switch(counter)
    {
        case 1:
            alert('a');
            break;
        case 2:
            alert('b');
            break;
        case 3:
            alert('c');
            break;
    }
    counter=0;
}