簡體   English   中英

GWT圖像加載處理程序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM