1

任何人都可以告诉我一些对 Jscolor 组件在 JSF 中的以下行为有帮助的东西吗?

我有这个简单的 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

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

4

2 回答 2

3

最后我找到了解决方案。太容易了!!!我必须在所有带有 class='color' 的输入字段(将文件绑定到 jscolor)之前添加以下代码:

<script>jscolor.init();</script>
于 2013-06-15T19:29:24.940 回答
0

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

我在这里看到的各种解决方案都没有奏效……我终于想通了。

在您的用户控件中的 HTML 顶部:使用 <dnn:DNNJsInclude..... /> 指向您的 jscolor.js 文件,然后添加

<script type="text/javascript">


function pageLoad(sender, args) {

    $(".jscolor").each(function (i, obj) {

        var picker = new jscolor(obj);

    });
};

于 2016-12-12T16:40:14.563 回答