我需要实现以下方法:
public static Widget embedInHyperlink(String href, Widget content);
该方法需要创建一个小部件,在网站上呈现为<a href="...">[content]</a>
。
内容可以是一个复杂的小部件,其中包含图像文本和其他小部件。
我的第一个解决方案是创建FocusPanel
并添加ClickHandler
,但是用户无法[Ctrl] - 单击小部件以在新的浏览器标签中打开它。当我的内容窗口小部件未嵌入超链接时,右键单击和“在新标签页中打开”或“另存为...”也是不可能的。
答案 0 :(得分:0)
您可以使用或扩展HTML窗口小部件来构建元素。如果您可以避免使用子窗口小部件,那么您将会感觉更好,因为在使用href包装时,窗口小部件通常未经过彻底测试才能正常工作。如果您必须使用子窗口小部件,则可以改为使用HTMLPanel。
答案 1 :(得分:0)
public class AnchorPanel extends SimplePanel {
public AnchorPanel(IsWidget content, String href, String target) {
super(DOM.createAnchor());
getElement().setAttribute("href", href);
getElement().setAttribute("target", target);
add(content);
}
}