【问题标题】:How to check whether Button is clicked or not in Dojo如何在 Dojo 中检查 Button 是否被点击
【发布时间】:2013-12-30 23:00:28
【问题描述】:

在 Dojo 中,如何检查按钮是否已被单击。如果单击按钮,我需要在这里执行不同的任务。 为此,我正在使用以下代码,但它不起作用:

<form data-dojo-type="dijit/form/Form"
    data-dojo-id="customerIdSelector" id="customerIdSelector"
    method="post" action="/ritl/chart/iCustomerBaseEntryBarChart.htm">
  <table >
        ===========
         // Other components
        ===========

      <button data-dojo-type="dijit/form/Button" id="buttonOne" type="n">
          <div class="ri-ok">Generate Graph</div>
          <script type="dojo/method" data-dojo-event="onClick"data-dojo-args="evt">
     </button>
      if(buttonOne.onClick == true)
//    if(event.type == onClick)
           { 
               alert('onclick');                 
               functionToCall();
           }
      else  {
                alert('not clicked');
                return false;
            }
     ===========
   </table>
</form>

if()内部,应该通过什么条件来检查点击事件?

【问题讨论】:

  • 您的意思是查看按钮是否已经被点击过一次?如果这是您所追求的,您将需要一个全局范围的 js 变量或页面上的一个元素,该元素是您在单击按钮时设置的,您可以在每次单击按钮时检查。
  • 这可能是所有人的替代解决方案,但在 Dojo 中,if() 中有什么条件来检查它。
  • 无...按钮是无状态的。因此,要保存一些状态,您必须引入该状态(作为@Maess 所说的全局范围变量)。如果你真的想要一个有状态的按钮,你应该看看 ToggleButton (dojotoolkit.org/reference-guide/1.9/dijit/form/…)。

标签: dojo dom-events dojox.charting


【解决方案1】:

我的回答是为了确认 Dimitri 在 OP 问题中的回答。 Button Dijit 是无状态的,因此您需要一个全局变量或 DOM 中的一个元素来保存状态。但是,您可以只使用 toggle button

您可以使用 dijit/registry 获取它的状态:registry.byId('buttonOne').get('checked')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    • 1970-01-01
    • 2021-03-08
    • 1970-01-01
    相关资源
    最近更新 更多