繁体   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