Сортируемый Jquery - отключить onclick = "" при сортировке - PullRequest
4 голосов
/ 08 августа 2010

можно ли отключить onclick = "" при сортировке?

У меня есть рабочий пример здесь http://www.jsfiddle.net/V9Euk/59/

Питер

Ответы [ 2 ]

3 голосов
/ 08 августа 2010

вы можете использовать start и stop опции:

$( ".selector" ).sortable({
   start: function(event, ui) { ... },
   stop: function(event, ui) { ... }
});

Просто создайте флаг и установите значение true, когда сортировка запущена, и значение false, когда сортировка завершена, и в функции onclick сначала проверьте флаг:

var isBeingSorted = false

$( ".selector" ).sortable({
   start: function(event, ui) { isBeingSorted = true; },
   stop: function(event, ui) { isBeingSorted = false; }
});

function printAlert(message){
   if(!isBeingSorted)
       alert(message);
}

И, конечно, ваши клики должны выглядеть так: onclick="printAlert('sdfsdf')"

Дополнительные параметры см. Здесь

.
1 голос
/ 08 августа 2010

Если вы не хотите делать это с переменной flag согласно @nigative, вы можете сделать следующее с методами start и stop:

$("#lop").sortable({
  revert: '100',
    placeholder: 'auo',
    start: function(event, ui) {
       ui.item[0].oldclick = ui.item[0].onclick;
       ui.item[0].onclick = null;     
    },
    stop: function(event, ui) {
       ui.item[0].onclick = ui.item[0].oldclick;
    }
});
...