0

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

var 字母 = [];

    $('#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”

4

1 回答 1

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;
}
于 2013-04-07T19:55:34.763 回答