Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何确保我的函数每次单击仅运行一次_Javascript_Jquery_Functional Programming - Fatal编程技术网

Javascript 如何确保我的函数每次单击仅运行一次

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

$'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'; }否则{ 对不起,猜错了。; } };
通常不应该在另一个单击处理程序中设置一个单击处理程序。在大多数情况下,这是一种代码味道,就像这里一样

您需要让“开始”按钮选择颜色进行选择,但仅此而已;至少不要将单击处理程序分配给此处的其他按钮。这可能会起作用,但当您在特定的“开始”单击处理程序之外定义单击处理程序时,这很简单

红色/蓝色单击处理程序不应再次选择颜色,因为用户可以多次尝试相同的按钮,直到其正确为止。更合乎逻辑的是,仅在单击“开始”按钮时进行选择,然后才会猜测特定的卡

因此,请将选定的卡存储在某个位置。如下所示:

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,以便我们至少可以看到您所说的内容?不确定您为什么要只有代码隐藏类钻石元素。我猜你不会看到太多的钻石那么。。。