2010-11-19 46 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中折旧。当你悬停图像时,第二行添加手形指针到光标。其余的是我自己解释的。