Jquery Sortable - 排序时禁用onclick =“”

时间:2010-08-08 06:46:11

标签: jquery onclick jquery-ui-sortable

是否可以在排序时禁用onclick =“”?

我在这里有一个有效的例子http://www.jsfiddle.net/V9Euk/59/

彼得

2 个答案:

答案 0 :(得分:3)

您可以使用startstop选项:

$( ".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);
}

当然,您的onclicks应该看起来像onclick="printAlert('sdfsdf')"

如需更多选项,请查看here

答案 1 :(得分:1)

如果您不希望使用@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;
    }
});