2010-11-19 5 views

Trả lời

14

gì bạn có thể làm để chèn Image trong Hyperlink:

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

Để thực hiện Image nhấp được bạn chỉ cần thêm một ClickHandler với nó.

+1

Cả bạn và Makkes đều không trả lời đầy đủ OP. Tôi chắc chắn anh ấy biết rằng anh ta có thể ràng buộc một clickhandler để làm như vậy, tôi nghĩ anh ấy đang tìm cách không phụ thuộc JS để làm như vậy .. – SexyBeast

1

Từ quan điểm chung .. Chúng ta có thể viết sự kiện onclick cho hình ảnh và con trỏ css: con trỏ (tùy chọn) để cho nó cảm giác siêu liên kết.

2

Bạn cũng có thể tạo ToggleButton và áp dụng một số kiểu dáng css. Sau đó, bạn đã có tất cả các hỗ trợ ClickHandler bao gồm.

4

Chỉ cần đính kèm một ClickHandler đến hình ảnh:

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

Vậy là xong. Hình ảnh có thể nhấp được. Để cho biết khả năng nhấp vào người dùng chỉ cần sử dụng một kiểu CSS thích hợp như con trỏ: con trỏ.

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

sẽ chính xác. Nếu không, hình ảnh được thêm vào sau siêu liên kết

+0

Cũng có thể sử dụng .getElement(). InsertFirst (Element) – Chloe

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()); 

Sử dụng Anchor thay vì HyperLink vì addClickHandler bị khấu hao trong HyperLink. Dòng thứ hai thêm con trỏ tay vào con trỏ khi bạn di chuyển hình ảnh. Phần còn lại là tự giải thích tôi nghĩ.