2010-11-19 86 views

回答

14

你可以做插入的HyperlinkImage什麼:

Hyperlink link = new Hyperlink(); 
Image image = new Image(someUrl); 
... 
link.getElement().appendChild(image.getElement()); 

爲了使Image點擊你只需添加一個ClickHandler它。

+1

您和Makkes的任何一個都不能完全回答OP。我確信他知道他可以綁定clickhandler來做同樣的事情,我認爲他正在尋找一種非JS依賴的方式來做到這一點.. – SexyBeast 2013-04-30 16:33:53

1

從一般的觀點來看..我們可以爲圖像和CSS光標寫一個onclick事件:指針(可選)給它一個超鏈接的感覺。

2

你也可以創建一個ToggleButton並應用一些CSS樣式。那麼你已經包含了所有ClickHandler支持。

4

只是附加clickHandler事件的圖像:

Image img = new Image(URL); 
img.addClickHandler(new ClickHandler() { 
    @Override 
    public void onClick(ClickEvent ev) { 
    // do sth. 
    } 
}; 

就是這樣。該圖像是可點擊的。爲了向用戶指示可點擊性,只需使用適當的CSS樣式,如光標:指針。

4
Hyperlink link = new Hyperlink(); 
Image image = new Image(someUrl); 
... 
link.getElement().getFirstChild().appendChild(image.getElement()); 

會是正確的。否則圖像在超鏈接之後添加

+0

也可以使用.getElement()。insertFirst(Element) – Chloe 2013-10-16 01:30:39

3
Anchor anchor = new Anchor(); 
    anchor.getElement().getStyle().setCursor(Cursor.POINTER); 
    anchor.addClickHandler(new ClickHandler() { 
      @Override 
      public void onClick(ClickEvent ev) { 
       Window.Location.assign("http://url.com"); 
      } 
    }); 
    Image img = new Image("image/path.jpg"); 
    anchor.getElement().appendChild(img.getElement()); 

使用錨而不是HyperLink,因爲addClickHandler在HyperLink中折舊。當你懸停圖像時,第二行添加手形指針到光標。其餘的是我自己解釋的。