如果单击按钮,则在Javascript中更改变量

时间:2016-05-16 12:51:43

标签: javascript jquery if-statement

我做错了什么?如果单击该按钮,变量s的值将为10,如果不是,则为0.但它不起作用。

$('button').observe('click', function () {
  var clicked = true;
  window.clicked = clicked;
});

if (clicked)
{
    var s = 10;
}
else 
{
    var s = 0; 
}

3 个答案:

答案 0 :(得分:4)

这可能会对您有所帮助 -

    <button>
    click
    </button>

<script>
       var clickCounter=0;
        var s=0;
        alert(s);
        $('button').on('click',function(){
          var s=10;
            alert(s);
            });
</script>

最初,变量将存储值0,在单击vutton后,变量的值为10。

答案 1 :(得分:1)

您正在if和else范围内创建变量S. 在if和else之外创建一个var,然后再分配

或者你可以这样做:

   var s = 0;    
   $('button').observe('click', function () {
      s = 10;
   });

这样,只有在点击后才能将10分配给s。你之前的代码永远不会设置为10

答案 2 :(得分:1)

你到底想要达到什么目的?为什么不在点击事件上设置s = 10?像这样:

var s = 0;

$('button').click(function () {
  s = 10;
  console.log(s);
});

console.log(s);

或者,如果您正在尝试观察更改的值,请尝试以下操作:

$('button').click(function () {
  object.s = 10;
});

var object = {};
Object.defineProperty(object, 's', {
  get: function() { 
    return this.value; 
  },
  set: function(newValue) {
    alert(newValue);
    this.value = newValue; 
  }
});

object.s = 0;
相关问题