2017-08-02 153 views
0

是否可以使用如下函数来声明变量值?使用变量内部的函数声明一个值

$(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将是空的''

回答

1

$()。click(function)返回它在其上运行的jQuery对象。所以如果你想设置x的值,你必须像下面这样做。只要知道点击事件之外的警报总是会提醒空白。

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

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

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>

0

你需要改变你变量的范围,你不想分配单击处理程序x的值。

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

如果你想,当你按一下按钮,提醒x的值的变化,你将需要:

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

这是什么东西做的是当#div点击的值更改为25你正在提醒已更改的值。

相关问题