2012-12-13 73 views
1

我們有這樣的代碼(使用DHTMLX和DHTMLXMESSAGE):JavaScript的等待返回功能到的onclick

myCheckBox.attachEvent('onEditCell', function(stage,rId,cInd,nValue,oValue){ 
     dhtmlx.confirm({ 
      type:"confirm", 
      text: "Are you sure?", 
      callback: function(result){ 
       if(result) { 
        return true; 
       } 
       return false; 
      } 
     }); 
}); 

OnEditCell事件應該返回「真」或「假」,以驗證行動。

現在我的代碼總是檢查我的複選框,然後顯示確認彈出窗口。

+3

我不明白這個問題本身。你能清楚一點嗎? – LPD

+0

我用一個類似的明確例子改變了這個問題。 – CeccoCQ

+1

對不起,但是「我需要等待返回true或false的這個函數」的含義是什麼?你有沒有機會等待其他事件? – LPD

回答

0

你不能返回任何東西給attachEvent回調。根據您的確認複選框的結果,執行相關代碼

> callback: function(result){ 
>     if(result) { 
>     //don't returnfrom here 
         // execute your code here only. 
>     } 
>     

希望這有助於您。

0

您不能在異步功能上阻止JavaScript。

你的事件處理程序總是返回false。

然後在回調中觸發其功能,而不是嘗試返回true。

+0

請問,你能給我一個例子嗎? – CeccoCQ

+0

'dhtmlx.confirm(yada yada);返回false'和'callback:function(result){if(result){whatever_returning_false_prevents(); }' – Quentin