關於網頁前端框架art.dialog的一些問題

今天有人在羣裏發問:“art.dialog. texterea 裏面 onkeyup  怎麼不起作用啊?artdialog 如何給textarea 添加事件?”。

我最近用artDialog時也發現了幾個問題,後來發現新版的有問題,如果使用舊版本則沒有這個問題,我鏈接到一個頁面,會有一個彈出,然後自動關閉。

當我們寫下如下代碼:

  1. function aa(){ 
  2.   
  3. var haha = 1; 
  4.   
  5. art.dialog({ 
  6.     content: 'hello'
  7.     ok: function () { 
  8.      this.title('關閉').time(3); 
  9.       haha = 2; 
  10.       return false
  11.     }, 
  12.     cancel:function(){this.close();} 
  13. }); 
  14.   
  15. return haha; 
  16.  

如何在對話框裏點"是",改變haha值爲2啊?

這個函數看似簡單,但是你試試就發現,沒有返回。其實art內部已經跨越多個函數了,可以試試把haha設爲全局變量。如何做呢?不要在函數內部聲明haha。於是,代碼成了

  1. var haha = 1; 
  2. function aa(){ 
  3.   
  4. art.dialog({ 
  5.     content: 'hello'
  6.     ok: function () { 
  7.      this.title('關閉').time(3); 
  8.       haha = 2; 
  9.       return false
  10.     }, 
  11.     cancel:function(){this.close();} 
  12. }); 
  13.   
  14. return haha; 

原來是傳說中的閉包在搞怪啊。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章