2016-09-20 19 views
1

我在寫一個自定義元素,我想定期發出一個事件。 發射事件需要一些工作,所以我在想也許我可以懶惰,只有發出事件(並做好工作),如果有一個監聽器。從自定義元素中檢測事件偵聽器(發生事件的延遲)

是否有可能檢測到有人正在聽一個事件(非冒泡)? 並在那種情況下開始發射,直到聽者被移除。

或者,當沒有偵聽器時,javascript運行時是否足夠聰明,不會運行間隔(其中唯一的副作用是創建事件)?

回答

1

使用Javascript標準事件,它會出現you can't(除非您override的註冊機制)。

但是通過自定義註冊和回調方法,您可以通過執行Observer pattern來實現此目的。

無論如何,它你很懶,也許發送無用的事件更容易:-)

相關問題