後,其他標識事件我有一個div
與下面的操作來模擬菜單如何榆樹
div
[ onClick address Toggle
, onFocus address Open
, onBlur address Close
]
[ ... some items with click handlers ]
當一個標籤到div
,使其具有焦點並執行Open
,顯示菜單。
當失去焦點,onBlur
升高並執行Close
其隱藏菜單
單擊時,它Open
或Close
之間切換。
這工作正常,但也有一些問題
方案
- 當在
div
用戶點擊,它觸發onFocus
打開的菜單。 - 然後它觸發
onClick
,它執行切換並因此關閉菜單。
如何在onFocus
之後識別onClick
以便不切換菜單?如果不是,在Elm中處理這種情況的最佳方法是什麼?
這工作正常,如果用戶選項卡的div,然後點擊它。既然它已經有了重點,它就會按預期切換並行爲。
您應該爲您的模型添加一些狀態,以便您可以在菜單打開或關閉的情況下保留trask,並根據模型狀態對事件作出反應 – marcosh
我有菜單打開時要監視的狀態或關閉。這是狀態切換時使用的。點擊後,它會觸發'onFocus',它將狀態設置爲'Open',然後觸發'onClick'來切換狀態,並將其設置爲'Closed' – ritcoder
ok,現在我看到了問題。只是我的2美分...也許你可以修改你的狀態,也有一個'JustOpened'選項。在'onFocus'事件中,您將模型置於'JustOpened'狀態並在一定的毫秒數後觸發另一個事件(可能使用'Time'。延遲「功能)將狀態轉移到」打開「狀態 – marcosh