JSF2 ajax标记在Internet Explorer中引发未知的javascript错误

时间:2011-05-26 09:32:43

标签: java javascript jsf jsf-2 openfaces

拥有以下代码行:

<h:commandLink value="Reset Filter" styleClass="button">
  <f:ajax event="click" render="filterWindowDiv tableX" listener="#{beanX.reset}" />
</h:commandLink>

以及:

<h:commandLink value="Reset Filter" styleClass="button">
  <f:ajax event="click" render="@all" listener="#{beanX.reset}" />
</h:commandLink>

Internet Explorer 8中将抛出未知错误:

Object doesn't support this property or method         pageX.jsf, line1 character 7

h:commandLink位于o:window(OpenFaces 3)。

但是,如果我使用相同的代码行,例如对于在调用bean方法o:popupLayer后显示的删除按钮,我会得到相同的错误。

有什么想法吗?提前谢谢!


我的div中有JavaScript代码,必须在重新渲染页面的一部分时才能呈现adhoc。然而,似乎IE无法解决这个问题,而FF并不介意。我想要记住我已经阅读了一些有关此事的内容。无论如何,因为我已经删除了JavaScript错误。

但是如何在渲染后调用我的JavaScript代码?我已经像这个例子一样解决了它:

<h:commandLink value="Reset Filter" styleClass="button">
  <f:ajax event="click" render="@all" listener="#{beanX.reset}" 
          onevent="callback" />
</h:commandLink>

回调方法:

function callback(data) {
  data.status == "success") {
    // your JavaScript code
  }
}

再次感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

此处的问题在于<h:commandLink>

的点击事件

不知道可能的原因,但使用mousedown有望解决您的问题。