javascript - primefaces lightbox 触发未捕获的类型错误

标签 javascript java jquery jsf primefaces

我的主页上有一个灯箱,当用户第一次登录时,它会自动显示,但是当页面加载时,控制台中会出现一个奇怪的 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 控制台中出现的第一个错误:

First Error

之后,如果我点击任何 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/

相关文章:

javascript - 我可以同时跟踪多个 Google Analytics 事件吗?

javascript - Mobile Safari HTML5 WebSQL SQLTransaction 抛出 SQLError code=1 消息 ='not an error' ,事务失败

java - 哪个 Java HotSpot JIT 编译器正在运行?

javascript - Twitter Bootstrap 轮播不自动启动

java - 如何在列表中获取唯一值

java - 将 Bitmap 转换为 ByteArray,反之亦然

javascript - IE中的视差效果刷新率很恐怖

javascript - jQuery 显示 setTimeout 定时器

javascript - jQuery fade out fade in 在跳转时替换文本而不是覆盖

将大量子元素附加到大量元素时的 JavaScript 性能