jQuery链接函数任务

时间:2013-03-16 16:21:12

标签: javascript jquery function callback chaining

我想使用jQuery构建一系列六个按钮,其值为A,B,C,1,2,3。每次用户单击按钮时,其值都会附加到文本字段。但是,用户必须不能连续添加两个字母或两个数字。因此,如果按下A,B或C,则只有数字应该有效,反之亦然。

1 个答案:

答案 0 :(得分:0)

这应该这样做:

function createButton(target, val, fn) {
    var btn = document.createElement("button");
    btn.value = val;
    btn.onclick = function() {
        fn(val);
    };
    target.appendChild(btn);
}

var state = null,
    values = [];
function addLetter(l) {
    if (state == "letter") return false;
    state = "letter";
    values.push(l);
    update();
}
function addNumber(n) {
    if (state == "number") return false;
    state = "number";
    values.push(n);
    update();
}

createButton(inputs, "A", addLetter);
createButton(inputs, "B", addLetter);
createButton(inputs, "C", addLetter);
createButton(inputs, 1, addNumber);
createButton(inputs, 2, addNumber);
createButton(inputs, 3, addNumber);

function update() {
    // do something with values
}

Demo at jsfiddle.net