0

嗨,伙计们, 请帮我解决这个问题:假设我们从锚点调用相同的 javascript 函数,但参数不同

<a id="edit1" onclick="foo(1)"></a> 
<a id="edit2" onclick="foo(2)"></a>

function foo(id)
{
// let's say the code here hide the clicked anchor and show a new anchor with cancel-edit id 
}

场景:

  • 我点击了第一个锚点 - 第一个锚点替换为新锚点:
  • 我怎样才能禁用该功能,所以当我点击第二个锚点时它什么都不做。
  • 现在假设我点击了 ID 为 cancel-edit 的锚点,它会拉回 ID 为 edit1 的锚点并重新激活 foo 函数,所以当我再次点击第二个锚点时,它将再次执行 foo 函数...

我希望很清楚:X!提前致谢。

4

1 回答 1

1

如果您想在单击一个元素后对所有元素禁用它,您可以设置一个标志:

var enabled = true;
function foo(id) {
    if( enabled ) {
        // run your code
        enabled = false;
    }
}

它会继续运行,但是在if第一次点击之后语句中的代码不会。

function stop() {

    // replace the original anchor

    enabled = true; // enable the "foo" handler

}

当新的锚点stop()被点击时,你用原来的锚点替换它,并设置enabledtrue这样foo()可以再次工作。

于 2011-07-01T02:39:02.050 回答