2015-04-03 2 views
0

На моей странице загружаются динамически фотографии с помощью ajax. Для элементов и функций я пытаюсь использовать делегирование событий. К сожалению, для UI сортируемом я был вынужден использовать функцию ссылающегосяДелегат jquery ui сортируемый

HTML динамически генерируемый из идентификатора

<div class="row sortable"> 
    <div class="col-md-2 thumb" id="photo_1"> 
     <span class="thumbnail"> 
      <img class="img-responsive" src="img_1.jpg" alt="" /> 
      <input type="checkbox" name="photo[]" value="1" /> 
     </span> 
    </div> 
    <div class="col-md-2 thumb" id="photo_2"> 
     <span class="thumbnail"> 
      <img class="img-responsive" src="img_2.jpg" alt="" /> 
      <input type="checkbox" name="photo[]" value="2" /> 
     </span> 
    </div> 
    <div class="col-md-2 thumb" id="photo_3"> 
     <span class="thumbnail"> 
      <img class="img-responsive" src="img_3.jpg" alt="" /> 
      <input type="checkbox" name="photo[]" value="3" /> 
     </span> 
    </div> 
</div> 

МОЕЙ JS

var id = "something"; 

$.ajax({ 
    type: "POST", 
    url: photo.php, 
    data: { id : id }, 
    dataType: 'html', 
    success: function(data) { 
     $('#photo-container').html(data); 
    }, 
    complete: function() { 
     callSortable(); // Function referencing 
    } 
}); 

// DELEGATE 
$(document).on('change', 'input[name="photo[]"]', function() { 
    // do something 
}); 

function callSortable() { 
    $('.sortable').sortable({ 
     items  : 'div:not(.unsortable)', 
     delay  : 150, 
     revert  : true, 
     scroll  : false, 
     update: function(e, ui) { 
      //save position 
     } 
    }); 
} 

Как я мог сделать, чтобы использовать делегирование событий с UI сортируемых в моем сценарии? Спасибо

+0

Что проблема именно? Что вы подразумеваете под: * «использовать делегирование событий с пользовательским интерфейсом» *? –

+0

Я хотел бы знать, как использовать делегирование событий (например, флажок) для сортировки вместо ссылки на функцию, если это возможно. –

+0

Можете ли вы просто сказать, в чем проблема с вашим текущим кодом и ожидаемым поведением? Я действительно не знаю, какую делегацию вы имеете в виду. Кажется мне, как проблема XY. –

ответ

0

Jquery UI в Сортируемый Виджет имеет sortupdateevent, попробуйте делегировании так:

$(document).on('sortupdate', '.sortable', function() { 
    console.log("Sorting updated"); 
}); 

Пример: http://jsfiddle.net/2fzLo6gr/

Смежные вопросы