2013-12-12 123 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')

相關問題