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 が正確に説明しています。

何が起こっているのか、それを解決する方法を教えてください。

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 に答える