Jscolor在新部署的第一次回发后停止工作,但在重新加载的回发后继续工作

Jscolor stops working after first postback of fresh deploy, but continues to work after postback of a reload

本文关键字:新加载 继续 工作 加载 停止工作 第一次 Jscolor 新部署 部署      更新时间:2023-09-26

谁能告诉我一些有用的JSF与Jscolor组件的以下行为?

我有这个简单的xhtml代码:

<?xml version='1.0' encoding='UTF-8' ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
          xmlns:h="http://java.sun.com/jsf/html">
        <h:head>
            <title>RDFa test</title>
        </h:head>
        <h:body>    
            <script type="text/javascript" src="resources/js/jscolor/jscolor.js"/>
            <h:form>
                <h:commandButton class="color" value="ok"/>
                <h:commandButton value="server" type="submit" action="#{testBean.tmp}"/>
            </h:form>
        </h:body>
    </html>

TestBean.java:

@ManagedBean
@SessionScoped
public class TestBean implements Serializable {
    public TestBean() {}
    public void tmp() {
        System.out.println("SERVER!");
    }   
}

如果我做第一次部署并单击"服务器"按钮,Jscolor将消失并且不工作(这就像破坏页面上的javascript)!如果我重新加载页面并单击相同的按钮,Jscolor将正常工作。服务器日志中没有异常,Firebug JS控制台也没有任何错误。这是如何造成的,我该如何解决?

编辑:

我并不是唯一一个被这个问题困扰的开发者。这里tyhand准确地描述了我的意思:http://www.tek-tips.com/viewthread.cfm?qid=1641380

你能给我解释一下发生了什么事以及如何解决吗?

我终于找到了解决办法。太简单了!!我必须在所有输入字段之前添加class='color'(将字段绑定到jscolor)以下代码:

<script>jscolor.init();</script>

我想在自定义DNN模块的更新面板内的中继器中使用jscolor。

我在这里看到的各种解决方案都不起作用…我终于想通了。

在你的usercontrol的HTML顶部:使用& lt;款:DNNJsInclude…/比;要指向jscolor.js文件,然后添加

<script type="text/javascript">

function pageLoad(sender, args) {
    $(".jscolor").each(function (i, obj) {
        var picker = new jscolor(obj);
    });
};