1

ネストされた並べ替え可能なリストを含む jquery .sortable リストで「beforeStop」関数を使用しようとすると、次の JavaScript エラーが発生します。

Uncaught TypeError: Cannot call method 'removeChild' of null

私が見た他のサイトに基づいて、私のアイテムが実際にその下にネストされたソート可能なリストを持っている可能性があります...そして、ソート可能なリストをキャンセルしようとすると、ネストされたリストが好きではありません. エラーをスローすることは別として、それでも問題なく動作しているように見えますが、それでもエラーを回避したいと思います。

他の解決策を試しましたが、他の方法では状況をうまく処理できないようです。「キャンセル」または「アイテム」オプションは機能しません (メイン リスト内でこれらをソート可能にする必要があります)。アイテムが混在しているため (一部は他のリストに移動でき、一部は移動できません)、包含プロパティも機能しません。 )。

私は本当に別の解決策を見つけようとしていますが、アイデアがありません...他に提案はありますか? 私が本当に欲しいのは、ソート可能なアイテム内に特定のクラスを持つアイテムがコンテナを離れないようにすることです。「forceContainment: .specialItems」のプロパティか何かのように。

ここに、私が話していることを示す jsFiddle があります: http://jsfiddle.net/dataweb/28nMJ/37/

出力の javascript エラー/コンソールを確認すると、エラーがスローされていることがわかります。

HTML:

<p>sublists shouldn't be able to be dragged out of their normal list</p>
<ul id="list1" class='mainlist'>
    <li>One (a)</li>
    <li>Two (a)</li>
    <li class="hasItems">Three (a)
        <ul class="sublist">
            <li>subitem1-1</li>
            <li>subitem1-2</li>
            <li>subitem1-3</li>
            <li>subitem1-4</li>
        </ul>
    </li>
    <li>Four (a)</li>
    <li class="hasItems">Five (a)
        <ul class="sublist">
            <li>subitem2-1</li>
            <li>subitem2-2</li>
            <li>subitem2-3</li>
            <li>subitem2-4</li>
        </ul>
    </li>
</ul>
<ul id="list2" class='mainlist'>
    <li>1</li>
    <li>Two (b)</li>
    <li>Three (b)</li>
</ul>

JavaScript:

$('ul.mainlist').sortable({
    connectWith: 'ul.mainlist',
    beforeStop: function(ev, ui) {
        if ($(ui.item).hasClass('hasItems') && $(ui.placeholder).parent()[0] != this) {
            $(this).sortable('cancel');
        }
    }
});
$('ul.sublist').sortable({
    connectWith: 'ul.sublist'
});

ヘルプやフィードバックをいただければ幸いです。

4

2 に答える 2

-5

あるシナリオで RadComboBox 内で RadTreeview を使用していますが、「Uncaught TypeError: Cannot read property 'removeChild' of null while changing the item of the RadComboBox.

参考までに -部分的なページのポストバックにtelerik:AjaxSettingを使用していました。

私の場合、問題はtelerik:RadAjaxLoadingPanelの my- AnimationDuration="5"にありました

それはまるで-

telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel2" Skin="Office2007" runat="サーバー" AnimationDuration="5" MinDisplayTime="300"

AnimationDuration="5"プロパティを削除したところ、問題が解決しました。これが役立つことを願っています。

于 2014-04-14T08:53:51.933 に答える