如果我对一个可疑项目进行“jquery sortable”,那么我就无法将鼠标聚焦在任何可疑文本中的任何地方了

奇怪的是,这只在Firefox和Opera中被破解(IE,Chrome和Safari可以正常工作)。

有关快速修复的建议吗?

     $(document).ready(function(){ $('#sortable').sortable(); });     

One apple

Two pears

Three oranges

我找到了解决这个问题的另一个“解决方案”。

在声明可排序时,您应该添加一个取消:选项,如下所示:

         

One apple

Two pears

Three oranges

此版本不会在开始时强制使用光标,但也无法使用此字段进行拖动。 我建议将

包装在一个容器中,该容器有一些拖动句柄(就像gmail中每行开头的点)。

旁注: ':input,button'是必需的,因为这是默认选项。 如果不添加这些,则输入字段和按钮会出现类似问题。

我有同样的问题,这是因为我一起使用函数disableSelection() sortable()

实际上这是有效的,正如您可以通过按Tab键看到的那样:可编辑元素获得焦点。 我认为问题在于可排序插件劫持了mousedown事件,从而阻止了可编辑元素在单击时获得焦点。

解决方法是将mousedown事件处理程序添加到editable元素,以确保它获得焦点:

         

One apple

Two pears

Three oranges

为所有可编辑内容指定一个类名,然后使用以下方法捕获所有onmousedown事件:

 $('.classname').each ( function(){ $(this)[0].onmousedown = function() { this.focus(); }; }); 

Patrigan的答案是正确的,但有一个更好的方法来指定取消,例如:

 {cancel: 'input,textarea,button,select,option,[contenteditable]'} 

我有一个类似的问题,但实际上是由于对一个元素的“disableSelection”调用。

对我来说是的,这是添加的组合:

 cancel: 'input,textarea,button,select,option,[contenteditable]' 

然后取下.disableSelection();

所以我离开了:

 $("#sortable_list").sortable({ cancel: 'input,textarea,button,select,option,[contenteditable]' });