2017-08-02 66 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你正在提醒已更改的值。

相關問題