- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在加载嵌入到 RichFaces 中的 jQuery:
<a4j:loadScript src="resource://jquery.js"/>
接下来,我将加载 FancyBox jQuery 插件:
<script type="text/javascript" src="/App/fancybox/jquery.fancybox-1.3.4.pack.js"/>
该插件在页面首次加载时工作正常,但是在执行 ajax 调用之后
<a4j:jsFunction name="myMethod" data="#{myController.jsonDataToReturn}" action="#{myController.doSomething()}" oncomplete="populateData(data);">
<a4j:actionparam name="selectedTag" assignTo="#{myController.selectedTag}"/>
</a4j:jsFunction>
插件停止工作。测试表明 a4j:loadScript
标记在每次 ajax 调用时重新加载,从而重新加载丢失附加插件的 jQuery 变量。
当前的解决方法是通过放置 <rich:jQuery query="fn" />
来加载 jQuery在页面某处标记。它除了强制加载 jQuery 之外什么都不做,但是因为它不使用 a4j,jQuery 不会在 ajax 调用时重新加载。
不过,是否有一个干净的解决方案?我正在使用包含 jQuery 1.3.2 的 RichFaces 3.3.3。
更新:
FancyBox 加载了:
jQuery(document).ready( function(){
jQuery('.fancyboxLink').live('click',aclick);
});
function aclick(){
jQuery.fancybox({
href: '#{facesContext.externalContext.requestContextPath}/webpage.xhtml',
type:'iframe',
width:710,
height:510,
padding:0,
margin:0,
hideOnOverlayClick:false,
overlayColor:'#000'
});
return false;
}
在第一次 ajax 调用后,jQuery 不再包含 fancybox。
最佳答案
您需要做的第一件事是在每个 ajax 请求上加载脚本,为此使用 a4j:loadScript
。
<a4j:loadScript src="/App/fancybox/jquery.fancybox-1.3.4.pack.js"/>
第二:在重新呈现组件时执行该 fancybox 脚本(ajax 调用重新呈现包含 fancybox 元素的 dom 树的一部分)。我会通过编写一个自定义的 facelets 组件来做到这一点,就像这样。
花式输入.xhtml:
<ui:component xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich"
xmlns:c="http://java.sun.com/jstl/core">
<a4j:loadScript src="resource:///App/fancybox/jquery.fancybox-1.3.4.pack.js"/>
<!-- id is passed by component's client as facelet param. -->
<h:commandButton id="#{id}" otherParameters="....."/>
<script type="text/javascript">
jQuery(function() {
// Attaching fancybox to rendered component.
jQuery($('#{rich:clientId(id)}')).live('click',aclick);
});
</script>
</ui:component>
你的页面:
<ui:include src="fancyInput.xhtml">
<ui:param name="id" value="anId"/>
<ui:param name="otherParams" value="..."/>
</ui:include>
关于javascript - Richfaces a4j :loadScript clears jQuery plugins on ajax calls,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7207901/
非常简单: }" ajaxSingle="true"> 那显然是无效的EL。我以这种方式有条件地显示 myModelPanel 的最简洁方法是什么? 谢谢 IA 最佳
我正在尝试使用 simple demo来自 richfaces progressBar 页面。 当我转到页面时,它呈现开始按钮,按下按钮后进度条显示为 0% - 而不是计数到 100 显示 -1 就是
我目前正在处理一个项目,我想将其从 3.3.3.Final 版本迁移到 RichFaces 4。我想知道... 在迁移之前有什么我应该考虑、了解或考虑的重要事项吗? (可能是一个愚蠢的问题,但是...
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
很抱歉问题标题,但我想不出更好的标题。 我正在使用 JSF 2.0 (MyFaces 2.0.2) 并将 RichFaces 4 (4.0.0.20101004-M3) 添加到我的项目中。我找到了一个
我们正在从 RichFaces 3.3.3 升级到 RichFaces 4.2.0。似乎元素 css 类名称已更改,但我找不到新旧名称之间的任何映射。我们的元素中有很多用于丰富组件的自定义 css 规
什么是limitToList在 JSF 中,RichFaces?它在 RichFaces 4.x 中被删除了吗?是 limitToList和 limitRender一样吗? 最佳答案 limitRen
我尝试运行 RichFaces 4.3.1 Final 的 richfaces-showcase。当我按照 readme.txt 的指示执行命令“mvn clean package”时,出现 Mave
我正在将 JSF 2 和 richfaces 3.3.3 用于托管在 tomcat 6.0.20 上的应用程序。一旦通过浏览器(Mozilla 和 IE)发出请求,应用程序就会崩溃。 我的 web.x
最近我尝试将我的应用程序从 RF-4.1.0.Final 升级到 RF-4.3.2.Final。 我使用的应用服务器是Tomcat-7,项目是使用Maven构建的。 我遇到的一些问题: 1.在Rich
我正在将 JSF 1.2 升级到 JSF 2.x。在这个过程中,我想将应用程序中的每个页面都一个一个地升级。我已经设置了每个依赖项和配置。 RichFaces 4.x 和 PrimeFaces 3.5
简单的 JSF1.2 和 Jboss Server 5.0 工作正常,但添加 Richfaces 3.X JAR 后出现错误。我的应用程序无法运行。 Richfaces jar richfaces-a
好的,这里有点奇怪,我没有看到任何其他报告,最近我们有一些IE11用户报告了UI错误,经过一些测试之后,我意识到执行reRender(我正在使用A4J)后IE11正在放HTML元素放置在错误的位置,例
我的问题是让 RichFaces 日历限制允许选择的日期 由用户。 假设我只想允许用户选择本月的日期和下个月的日期。 我使用了 preloadDateRangeStart 和 preloadDateR
我知道这里有很多关于 JSF 分页的帖子,但没有一个让我满意。 要将相当大的数据拆分成页面,我将使用 RichFaces Data 滚动组件。 它似乎适合这种情况,但它看起来像是“人工”分页。 我不喜
我有一个 h:inputText 和一个 rich:fileUpload。我希望 inputText 在单击时调用 fileUpload。我该怎么做呢?现在,我有这个:
您能告诉我如何找出我正在运行的 Richfaces 版本吗? 我需要知道我是否已经安装了 jQuery,所以也许一种测试方法也可以作为答案。 我正在使用 JBOSS Developer Studio
我有: 我创建了一个具有以下值的组合框: - 测试 - 示例 - 示例 - 洛雷姆·伊普苏姆 在组合框中键入字母/字母组合将触发组件建议以输入文本/组合开头的值。 期望的输出: 强制组合框建议包含输入
我很努力地解决这个问题,但没有找到解决方案。 我只是不想为一个且仅有一个 HTML 页面启用 Richfaces。 为什么?因为我只在一个页面上使用 RichFaces。此外,由于我不使用 JavaS
我使用的是richfaces 3.3我希望我的用户能够在服务器上指定可以保存文件的位置。我该怎么做? 最佳答案 使用任何上传组件 使用额外的组件(trie-view)来表示服务器上的结构 提交时,获取
我是一名优秀的程序员,十分优秀!