2013-12-12 75 views
3

在Dojo中,如何检查按钮是否已被点击。在这里,如果按钮被点击,我需要做不同的任务。 为此,我使用下面的一段代码,但没有工作。如何检查按钮是否在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(),应该传递什么条件来检查点击事件。

+0

你的意思是,看看是否按钮已经被点击一次?如果这就是你所追求的,那么你需要在你点击按钮时设置一个全局范围的js变量或者页面上的一个元素,每次单击该按钮时都可以检查该元素。 – Maess

+0

这可能是所有人的替代解决方案,但是在Dojo中,if()检查该内容的条件是什么。 –

+2

无...一个按钮是无状态的。所以为了节省一些状态,你必须引入这个状态(作为@Maess所说的全局范围变量)。如果你真的想要一个有状态的按钮,你应该看看ToggleButton(http://dojotoolkit.org/reference-guide/1.9/dijit/form/ToggleButton.html)。 – g00glen00b

回答

1

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

你可以得到它的状态使用的dijit /注册表:registry.byId('buttonOne').get('checked')

相关问题