Почему сортировка является единственным событием, запускающим JQuery UI .sortable ()? - PullRequest
1 голос
/ 17 декабря 2010

У меня есть простой пример кода @ http://jsbin.com/ukiwo3/edit

Имеет 2 связанных списка и множество связанных событий. Я надеюсь, что пропустил что-то простое, например, основанное на http://jqueryui.com/demos/sortable/ событиях. Я думаю, что я должен увидеть, что все эти события запускаются, когда я перетаскиваю и изменяю порядок вопроса li. На данный момент только сортировка логов в консоль.

Может кто-нибудь сказать мне, что не так и как заставить остальных стрелять?

Спасибо, Denis

Ответы [ 2 ]

5 голосов
/ 17 декабря 2010

События называются по-разному при связывании, например sortstart вместо start. Посмотрите список событий на демонстрационной странице , чтобы увидеть полный список того, какими должны быть ваши привязки.

В целом, должно выглядеть так :

$( ".questions" ).bind( "sortstop", function(event, ui) {
  console.log("stop event");
});
$( ".questions" ).bind( "sortstart", function(event, ui) {
  console.log("start event");
});
$( ".questions" ).bind( "sortchange", function(event, ui) {
  console.log("change event");
});
$( ".questions" ).bind( "sort", function(event, ui) {
  console.log("sort event");
});
$( ".questions" ).bind( "sortremove", function(event, ui) {
  console.log("remove event");
});
$( ".questions" ).bind( "sortout", function(event, ui) {
  console.log("out event");
});
$( ".questions" ).bind( "sortover", function(event, ui) {
  console.log("over event");
});
$( ".questions" ).bind( "sortupdate", function(event, ui) {
  console.log("update event");
});

(не оптимизировано, просто показаны имена событий)

0 голосов
/ 17 декабря 2010

Я сделал это и вижу, что срабатывает событие остановки:

$('.questions').sortable({ 
        axis: 'y', 
        connectWith: ".questions",
        placeholder: "question-highlight",
        stop:function(event, ui) {
         console.log("stop event");
        }
});

Мне кажется, что эти "события" недоступны через bind.

...