我在使用primefaces标签云。但是当我点击标签云上的链接时,它会在同一个window.But中打开,点击它应该在一个新窗口中打开的标签云链接,而不是在同一个窗口上。当我点击标签云链接时,我想要一个新的窗口打开。有人能帮我一下这个话题吗?
发布于 2014-06-10 06:00:33
JavaScript解决方案:
一种可能的方法是JavaScript:
<p:tagCloud model="#{tagCloudBean.model}" onclick="preventDefault(event)">
<p:ajax event="select" update="msg" listener="#{tagCloudBean.onSelect}" />
</p:tagCloud>onclick触发一个阻止打开链接的JavaScript函数。
function preventDefault(e) {
e.preventDefault();
}此外,通过添加ajax事件,可以在托管bean中调用侦听器。
public void onSelect(SelectEvent event) {
TagCloudItem item = (TagCloudItem) event.getObject();
String url = item.getUrl();
String script = "window.open('" + url + "');"
RequestContext.getCurrentInstance().execute(script);
}在那里,您可以访问TagCloudItem的url并执行一条JavaScript语句,该语句应该打开一个新的浏览器窗口。
这个可能的解决方案是未经测试的,但只要尝试一下就行了。
https://stackoverflow.com/questions/24133140
复制相似问题