【发布时间】:2014-10-05 01:40:39
【问题描述】:
我正在寻找此问题的快速解决方案:
function remove() {
var clickedbtn;
$("button[role=remove]").click(function() {
clickedbtn = this.id;
alert(clickedbtn); // works, assigns correct value
});
alert(clickedbtn); // undefined -- why?
}
clicked 变量用 var 声明并分配了一个值,但该值在 click() 函数之外不是持久的。任何帮助表示赞赏。
【问题讨论】:
-
为什么要在点击发生之前找出用户点击了哪个按钮?
-
如果分配给
clickedbtn(而不是clicked),它如何可能工作?现在,即使修复它以使其显示为clicked = this.id,它仍然会显示“未定义”,因为警报发生在用户有机会点击按钮之前。 -
你的函数不正确,
clicked没有赋值。 -
只是一个提示:不要只是简单或标题中的帮助。它用不必要的字眼使标题变得臃肿,并且不利于人们之后的搜索。
标签: javascript jquery variables scope