[英]GWT Image load handler
GWT:2.6.1
我想在加載圖像時執行一個動作(圖像src)。
我嘗試過這個,但onLoad事件永遠不會被觸發:
final Image img = new Image();
img.addLoadHandler( new LoadHandler()
{
@Override
public void onLoad( LoadEvent event )
{
//action
}
} );
img.setUrl( "/image.png" );
然后我嘗試了這個:
final Image img = Image.wrap( Document.get().createImageElement() );
img.addLoadHandler( new LoadHandler()
{
@Override
public void onLoad( LoadEvent event )
{
//action
}
} );
img.setUrl( "/image.png" );
它工作...我不明白為什么第一個代碼什么都不做。
重要說明:在這兩個示例中,我沒有將Image對象放入dom(= Image未附加)。
在這個問題中 ,似乎原因是圖像沒有附加。 但在我的第二個示例代碼中,圖像也沒有附加? 對 ?
如果你看一下wrap()方法的文檔,它說This element must already be attached to the document.
。 因此,當您實際檢查wrap()
源時,它調用onAttach()
實際上將事件處理程序注冊到DOM元素。 所以區別在於Image對象認為元素在不處於該狀態時被附加。
現在,在wrap()
入口處有斷言,檢查條件是否滿足。 雖然您需要啟用斷言才能使它們生效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.