2017-09-03 113 views
0

我有一個禁用的按鈕。在鼠標懸停的這個禁用按鈕上,我需要使用GWT顯示一個彈出窗口。 我試圖將它包裹在一個面板中並且編碼的鼠標懸停在面板上。但它並不是一直都在工作。鼠標懸停在禁用按鈕

回答

0

IMO你應該儘量避免這種情況。例如,如果您只想顯示一個小工具提示,則可以使用不同的標題來顯示啓用和禁用狀態,以說明禁用的原因。

如果你仍然想對禁用按鈕上的over事件做出反應,你可以使用類似這樣的東西。

SimplePanel p = new SimplePanel(); 
Button b = new Button("hover me to toggle disable"); p.add(b); 
p.addDomHandler(ev -> button.setEnabled(!b.isEnabled()), MouseOverEvent.getType()); 
RootPanel.get().add(p); 

雖然您已經注意到,瀏覽器不會觸發禁用輸入上的事件。所以如果你移動鼠標而不通過面板並直接進入按鈕,你將不會收到事件。你可以修復這個應用這種風格。

button.gwt-Button[disabled] { 
    pointer-events: none; 
} 

但可能這可能有一些缺點或可能不適用於所有瀏覽器。