jQuery应用f:ajax后的css类



我四处找了找,对我的基本问题找不到一个直接的答案。

我们有一个网站,其中应用了一堆基本的css类元素使用jQuery在document.ready()

但是现在我们也开始使用JSF 2.0和facelets,并且有一些f:ajax标签,它们根据事件呈现页面的某些部分。可以想象,重新呈现的部件没有这些样式,因为在ajax调用期间没有再次调用jQuery函数。

我现在玩了一下,发现可以添加onevent到f:ajax,并强制再次调用jQuery主函数。但这感觉不是很优雅,我需要将它添加到所有的f:ajax标记中。另外,我遇到了一些无法解释的行为。

我的问题是:

  1. 在document.ready()中应用样式类是否仍然有意义?或者在这种情况下,这是不好的做法?我应该简单地将类添加到元素中吗?
  2. jQuery ajax是f:ajax的可行替代方案吗?
如有任何意见、帮助或指导,我将不胜感激。

谢谢

我现在已经玩了,发现你可以添加onevent到f:ajax和强制主jQuery函数再次调用。但这感觉不是很优雅,我需要将它添加到所有的f:ajax标签中。

您可以使用jsf.ajax.addOnEvent()将其应用于所有<f:ajax>请求。参见如何重新执行javascript函数后的形式渲染?


在document.ready()中应用样式类是否仍然有意义?或者在这种情况下,这是不好的做法?我应该简单地将类添加到元素中吗?

这确实表明了一个设计/思维问题。例如,为什么不直接使用那些jQuery选择器而不是打算添加的CSS类呢?要向某些元素添加CSS类,无论如何都必须使用CSS选择器选择它们,对吗?为了最终目的而使用CSS选择器有什么错呢?

在Facelets透视图中,您可以考虑创建标记文件来减少代码样板。您可以将<h:inputText styleClass="some-specific-class">包裹在/WEB-INF/tags/inputText.xhtml中,并继续使用<my:inputText>


jQuery ajax是f:ajax的可行替代方案吗?

这是可行的。甚至还有开源的例子,比如围绕jQuery和jQuery UI构建的PrimeFaces。

相关内容

  • 没有找到相关文章

最新更新