<div class="sortable-sections">
<fieldset class="section draggable" id="flSectionType">
<div class="btn-drag section-handle hidden-view">
</div>
<div class="section-header">
<span class="section-label">Job Requirements</span> <a class="section-info" href="#more-info"
title="Minimum Education, Minimum Work Experience, Required Licenses/Certifications, Required Skills, Knowledge, and Abilities needed to perform the job.">
?</a>
</div>
<div class="sortable-items">
</div>
<a class="section-add-item hidden-view" id="addJR" href="#add-item" data-item='{"id":"addJR","template":"requirement","item_type":"Job Requirement"}'>
Add a new Job Requirement</a>
</fieldset>
<fieldset class="section draggable">
</fieldset>
<fieldset class="section draggable">
</fieldset>
<div>
上記のコードは、sortable-sectonsでドラッグできるセクションのリストを生成します。
次のスクリプトを使用してセクションを手動で削除し、sortable-sectionsに追加し直していますが、jqueryイベントが登録されていません。
var $section = $('.sortable-sections').find($('#flSectionType');
$('.sortable-sections').find($('#flSectionType').remove();
......
.......
$('.sortable-sections').append($section.val());
セクションを追加した後、section-add-itemcssクラスに登録されているイベントはトリガーされません。注:「on」の代わりに「live」メソッドを使用しました。ただし、すべての属性を保持しているわけではありません。
編集:イベントコード:
$('.section-add-item').on('click', function (e) {
that.addSection(this);
e.preventDefault();
});
ドラッグアンドドロップの代わりに、手動で初期ロード時にセクションを注文しています。