javascript

时间:2015-10-12 11:28:09

标签: javascript jquery button

我想根据点击在按钮上配置两个不同的操作。 第一次点击,我想调用一个函数F1(),并在所有其他时间我想调用另一个函数F2()。

我是javascript的新手,我正在寻找一个可以将值存储为标志的变量。我试过了,但价值观并没有坚持下去。

<script>
  var fflag=1;

  if(fflag!=2){
    F1();//do an action
    fflag =  2;
 }
 else{
    F2();//do another action
 }
</script>

2 个答案:

答案 0 :(得分:3)

改为使用boolean

var clicked = false;

function onButtonClick(){
    if(clicked){ // If this button has been clicked before,
        F2();   // Execute F2
    } else {   // If this button hasn't been clicked before,
        clicked = true; // Change the boolean.
        F1(); // Execute F1
    }
}

更短的选择:

var clicked = false;
function onButtonClick(){
    (clicked ? F2 : F1)();
    clicked = true;
}

(这使用ternary operator)。

答案 1 :(得分:-2)

您需要在使用它的函数之外设置fflag变量,这将使其成为全局变量(或者至少在函数范围之外),并且它的值将在函数调用之间保持不变。

<script>
var fflag = 1;

function myClick() {
  if(fflag!=2){
    F1();//do an action
    fflag =  2;
  }
  else{
    F2();//do another action
  }
}
</script>