使用变量内的函数声明值

时间:2017-08-02 16:43:37

标签: jquery

是否可以使用如下函数声明变量值。

$(document).ready(function() {
  var x = $('#div').click(function(){
    x = 25;
  })
  alert(x);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='div'>The Div.</div>

我不是说这是我使用的方式,但只是一个例子,因为我想定义变量值的情况我按下div为25,如果我没有点击div它将是空的''

3 个答案:

答案 0 :(得分:1)

$()。click(function)返回它操作的jQuery对象。因此,如果您想将x设置为值,则必须按照以下方式执行此操作。只需知道点击事件之外的警报总是会警告空白。

&#13;
&#13;
$(document).ready(function() {
  var x = '';

  $('#div').click(function(){
    x = 25;
    alert(x);
  })
  alert(x);
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='div'>The Div.</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您应该在开头将x设置为空变量,然后使用事件处理程序进行更改。如果您立即提醒,在设置处理程序后,您将没有时间在警报之前单击。您将不得不等待该单击对x执行某些操作。

$(document).ready(function() {
  var x;
  $('#div').click(function(){
    x = 25;
    alert(x);
  })
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='div'>The Div.</div>

答案 2 :(得分:0)

您需要更改变量的范围,并且不希望将点击处理程序的值分配给x。

  • more info about jQuery's click
  • info about scope in javascript

    &#13;
    &#13;
        $(document).ready(function() {
          var x = '';
          $('#div').click(function(){
            x = 25;
          });
          alert(x);
        });
    &#13;
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
        <div id='div'>The Div.</div>
    &#13;
    &#13;
    &#13;

在上面的示例中,x值的范围仅限于$(document).ready(function() { ... });块。所以除此之外,x将是未定义的。 $('#div').click(function() { ... });能够修改x,因为它的范围也仅限于文档就绪回调。

如果要在单击按钮时提醒x值的更改,则需要以下内容:

$(document).ready(function() {
  var x = '';
  $('#div').click(function(){
    x = 25;
    alert(x);
  });
});

这是在点击#div时,值更改为25并且您正在警告更改的值。