Javascript 如何确保我的函数每次单击仅运行一次
$'myButton'。单击函数{ $'buttonOne'。单击函数{ IfGetOne或Two==1{ $'.firstObject'.css'visibility','hidden'; $'.secondObject'.css'visibility','visibility'; }否则{ 对不起,猜错了。; } } $'buttonTwo'。单击函数{ IfGetOne或two==2{ $'.firstObject'.css'visibility','hidden'; $'.secondObject'.css'visibility','visibility'; }否则{ 对不起,猜错了。; } };Javascript 如何确保我的函数每次单击仅运行一次,javascript,jquery,functional-programming,Javascript,Jquery,Functional Programming,$'myButton'。单击函数{ $'buttonOne'。单击函数{ IfGetOne或Two==1{ $'.firstObject'.css'visibility','hidden'; $'.secondObject'.css'visibility','visibility'; }否则{ 对不起,猜错了。; } } $'buttonTwo'。单击函数{ IfGetOne或two==2{ $'.firstObject'.css'visibility','hidden'; $'.secondO
通常不应该在另一个单击处理程序中设置一个单击处理程序。在大多数情况下,这是一种代码味道,就像这里一样 您需要让“开始”按钮选择颜色进行选择,但仅此而已;至少不要将单击处理程序分配给此处的其他按钮。这可能会起作用,但当您在特定的“开始”单击处理程序之外定义单击处理程序时,这很简单 红色/蓝色单击处理程序不应再次选择颜色,因为用户可以多次尝试相同的按钮,直到其正确为止。更合乎逻辑的是,仅在单击“开始”按钮时进行选择,然后才会猜测特定的卡 因此,请将选定的卡存储在某个位置。如下所示:
var selected = null; // No selection yet
$('#buttonOne, #buttonTwo').hide(); // Initially hide the guessing buttons.
$('#myButton').click(function() {
selected = getOneOrTwo();
$('#buttonOne, #buttonTwo').show(); // Now that we have a selection, allow guessing
});
$('#buttonOne').click(function() {
if (selected === "one") {
// here do what ever you want to do when the guess is right
} else {
alert("Sorry, wrong guess.");
}
});
// Similarly for the other button
$“拾取红色”。单击函数{每次单击开始时都会添加另一个事件处理程序请单击,然后[]创建一个为什么叫getCardColor;在pick red and pick black的点击事件之外?我不这么认为needed@mplungjan$“选择黑色”。单击也确实不清楚您的菱形一、二等所指的是什么。请添加HTML,以便我们至少可以看到您所说的内容?不确定您为什么要只有代码隐藏类钻石元素。我猜你不会看到太多的钻石那么。。。