0

jHTMLAreaでjQuery Sortableを使用しています。私は基本的にソート可能なDIVを持っており、DIVはソート可能です。ただし、DIV を任意の場所にドロップすると、jHTMLArea の内容が空になり、jHTMLArea が無効になります。iFrame とテキストエリアの両方が無効になります。中には何も書き込めません。

何が問題なのかわからないので、これがライブラリ自体に関係しているのかどうか疑問に思っています。

私が使用しているコードは次のとおりです。

// Enable Sortables
$("div.nnUtil").sortable({
    cancel: ".nnSettings",
    connectWith: 'div.nnUtil',
    distance: 5,
    forcePlaceholderSize: true,
    items: '> div.nnItems',
    placeholder: 'ui-state-highlight',
    revert: 250
});
4

1 に答える 1

3

私は解決策を見つけました。

基本的に、リストを並べ替えると、div の内容が非表示になります。htmlarea コンテンツをブロックします。これに関して、jHTMLArea フォーラムに多数の問題が記録されています。

私がしたことは、HTMLArea を再レンダリングした div をドロップしたときです。

これが動作デモです。

$('textarea').htmlarea();

var fixHelperModified = function (e, tr) {
    var $originals = tr.children();
    var $helper = tr.clone(true, true);
    $helper.children().each(function (index) {
        $(this).width($originals.eq(index).width())
    });
    return $helper;
},
updateIndex = function (e, ui) {
    $('td.index', ui.item.parent()).each(function (i) {
        $(this).html(i + 1);
    });
    ui.item.find('textarea').htmlarea('dispose');
    ui.item.find('textarea').htmlarea();
};

$("#sort TBODY").sortable({
    helper: fixHelperModified,
    stop: updateIndex
}).disableSelection();

問題例

http://jhtmlarea.codeplex.com/workitem/16028

http://jhtmlarea.codeplex.com/workitem/10907

于 2013-07-16T04:16:45.703 に答える