簡體   English   中英

如何聲明在onclick函數之外已單擊按鈕

[英]How to declare that a button has been clicked outside the onclick function

 $(document).ready(function() { var status = 'not active'; $('#button').on('click', function() { var button = 'THE BUTTON IS CLICKED'; var status = 'active'; alert(button); }); if(status == 'active'){ alert('THE BUTTON IS ACTIVATED'); } else { alert('THE BUTTON IS NOT ACTIVE'); } }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <button id="button">X</button> 

在這里的代碼中,我試圖獲取onclick函數之外的按鈕status以輸入if statement但是它根本沒有在函數外部定義。 我想收到alert('THE BUTTON IS ACTIVATED'); 工作。

您正在聲明一個新變量,也稱為status ,該變量“混淆”函數內部的外部status 只需刪除var即可使用外部變量:

 $(document).ready(function() { var status = 'not active'; $('#button').on('click', function() { var button = 'THE BUTTON IS CLICKED'; status = 'active'; alert(button); }); if(status == 'active'){ alert('THE BUTTON IS ACTIVATED') } else { alert('THE BUTTON IS NOT ACTIVE'); } }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <button id="button">X</button> 

編輯 :您的代碼上有兩點怪異的事情:當文檔准備就緒時,僅使用一次警報狀態,並且不切換active狀態。 也許您想要這樣(對於這種狀態,最好使用布爾變量而不是字符串):

 $(document).ready(function() { var status = 'not active'; $('#button').on('click', function() { var button = 'THE BUTTON IS CLICKED'; status = (status == 'active') ? 'not active' : 'active'; alert(button); showButtonStatus(); }); function showButtonStatus() { if(status == 'active'){ alert('THE BUTTON IS ACTIVATED') } else { alert('THE BUTTON IS NOT ACTIVE'); } } }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <button id="button">X</button> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM