【发布时间】:2012-11-04 14:26:20
【问题描述】:
我对此thread 有一个类似的问题,我有一个JavaScript 函数将触发隐藏commandLink 的点击事件。隐藏命令将触发 Java Bean 中的操作。此代码在 IE 中运行良好,但在 Firefox 中运行良好。这个问题有什么线索吗?
JavaScript
<h:outputScript target="head">
HTMLElement.prototype.click = function() {
var evt = this.ownerDocument.createEvent('MouseEvents');
evt.initMouseEvent('click', true, true, this.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
this.dispatchEvent(evt);
}
function triggerHiddenEvent() {
alert("triggerHiddenEvent is trigger");
document.getElementById("theForm:hiddenCommand").click();
}
</h:outputScript>
XHTML
<h:form id="theForm">
<h:commandLink id="tri_HiddenEvent" value="Trigger Hidden Event" onclick="triggerHiddenEvent"/>
<p style="display:none">
<h:commandLink id="hiddenCommand" styleClass="button" action="#{helloBean.doHiddenCommand}"/>
</p>
...
豆子
@ManagedBean
@SessionScoped
public class HelloBean implements Serializable {
public String doHiddenCommand() {
System.out.println("doHiddenCommand is called");
return "";
}
}
【问题讨论】:
-
onclick="triggerHiddenEvent()"添加()怎么样? -
onclick事件会触发JavaScript函数
triggerHiddenEvent()。 -
onclick="triggerHiddenEvent(); return false;"呢? -
完美!!有用!!为什么? return false 试图做什么?你能在你的回答中更新这个问题吗?
标签: javascript jsf-2 facelets managed-bean