我的主页上有一个灯箱,当用户第一次登录时,它会自动显示,但是当页面加载时,控制台中会出现一个奇怪的 JavaScript 错误,这使得与 Primefaces 相关的所有内容都停止工作。这是我的灯箱的代码:
<p:lightBox styleClass="imagebox" id="lightbox1" visible="true"
rendered="#{dashboardBean.firstTimeLoggedIn}" widgetVar="lightbox1"
onHide="hideInstructions()">
<h:outputLink
value="#{request.contextPath}/resources/images/instructions/instructions-1.gif"
title="Step 1"/>
<h:outputLink
value="#{request.contextPath}/resources/images/instructions/instructions-2.gif"
title="Step 2" />
<h:outputLink
value="#{request.contextPath}/resources/images/instructions/instructions-3.gif"
title="Step 3" />
</p:lightBox>
<h:form rendered="#{dashboardBean.firstTimeLoggedIn}">
<p:remoteCommand name="hideInstructions"
action="#{sessionBean.hideInstructions}" />
</h:form>
这是 chrome 控制台中出现的第一个错误:
之后,如果我点击任何 primefaces 按钮、链接等......它就不起作用
最佳答案
原来是一个bug p:灯箱。错误来自此 file在第 274 行,因为 e.originalEvent 未定义:
if(e.originalEvent.touches) {
pageX = e.originalEvent.touches[0].pageX;
pageY = e.originalEvent.touches[0].pageY;
} else {
pageX = e.pageX;
pageY = e.pageY;
}
该错误已在 commit 中修复
修复方法是在第一行添加验证:
if(e.originalEvent && e.originalEvent.touches)
关于javascript - primefaces lightbox 触发未捕获的类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36869238/