日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

EXT 删除 监听

發布時間:2025/3/14 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 EXT 删除 监听 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

想做一個效果:使用Ext驗證textfield中數據,一旦數據有效就初始化某個模塊。

試了好多 監聽事件,只有“valid”事件可以,但是其驗證分為好幾次,我猜測可能是有首先驗證表單有效性,然后驗證數據有效性,即,“valid”事件監聽一次,觸發多次。在加載完成后,如果還存在此監聽,很麻煩的,所以有必要去掉。

移除該事件使用 Ext.removeListener()方法,簡寫為un(un是添加監聽事件on的反義詞)。

添加監聽Ext.on()和移除監聽Ext.un(),在使用時,其第一個參數為 監聽事件,第二個為要移除的在 監聽事件觸發的函數,第三個為 作用域(我理解就是監聽的對象,一般不寫或寫this),需要注意的是 第二個參數 不能使用匿名函數,?需要使用函數名,要不然就不能保證操作的是同一個函數。

我當時寫的例子如下:valid事件的添加和觸發后移除該事件

?
1 aa = function() {Ext.getCmp('FinanceContractWin').initFormPanel();}? //初始化函數
?
1 bb = function() {Ext.getCmp('payTimes').removeListener('valid',aa,this);} //移除valid事件函數
?
1 if(!Ext.getCmp('payTimes').hasListener('valid')){ Ext.getCmp('payTimes').on('valid',aa,this); } //監聽到valid后調用初始化函數
?
1 if(Ext.getCmp('payTimes').hasListener('valid')){ Ext.getCmp('payTimes').on('focus',bb,this); } //獲取焦點后移除valid監聽事件
學習了一段時間,發現上面的方法固然可以實現前面提到的功能,在后來實踐中發現可以通過在一個頁面去調用另一個頁面里的初始化函數,這樣可以避免使用監聽。 具體哪種方法更好,至今沒想過,但是關于這個問題的實現方法卻多了一種。

在此記錄一下??

轉載于:https://www.cnblogs.com/webu/archive/2012/10/26/2741053.html

總結

以上是生活随笔為你收集整理的EXT 删除 监听的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。