1

セット内の折りたたみ可能なものの開閉を無効にできるようにしたいと思います。代わりに、ユーザーは開いている要素内の続行ボタンをクリックして、検証を行い、準備ができたら次の要素を開きます。私は基本的に折りたたみセットをウィザードとして使用しています。ドキュメントを検索して、崩壊が発生したときにイベントをキャプチャできる場所を見つけましたが、キャンセルする方法が見つかりません。私が話していることを実行する他のウィザードタイプのコントロールの提案、または提案をいただければ幸いです。

4

2 に答える 2

9

もう少し調査した後、私は最終的にこれに対する答えを見つけました。ここに投稿することで、アコーディオンを魔法使いに変えようとしている他の人に役立つことを願っています.

私の折りたたみ式は次のように設定されています:

 <div data-role="collapsible" data-collapsed="false" id="col1" >
     <h3>Title</h3>
     <p>
         <input type="text" />
         <input type="button" value="Next" onclick="nextClicked(1);" />
     </p>
 </div>

クリックが機能しないようにするが、展開をトリガーできるようにするには、次の jquery を使用します。

$(document).ready(function () {
    $("#col1 h3 a").click(function (event) {
        return false;
    });
});

preventDefault と stopPropagation を使用してみましたが、どちらも使用できませんでした。どうやら return false は、これらの 2 つと同様にいくつかの追加の作業を行います。

編集:これはブラウザーでは機能しますが、モバイルでは防止できないことがわかりました。モバイルで防止するには、タップイベントもキャプチャする必要がありますが、折りたたみ可能全体ではなくヘッダーで行う必要があることに注意してくださいボタンなどの折りたたみ可能な要素も登録されません。これは私が使用したコードです:

$("#col1 h3").on("tap", function (event, ui) {
    return false;
});
于 2012-10-25T12:55:34.757 に答える
6

変化

<div data-role="collapsible">

<div data-role="collapsible" class="ui-disabled">

グラフィックと機能の両方でヘッダーを無効にします。

http://jsfiddle.net/NY63z/を参照してください

于 2013-12-17T10:23:51.507 に答える