jquery ui draggable禁用手风琴键

时间:2014-01-21 10:40:34

标签: jquery jquery-ui jquery-ui-draggable jquery-ui-accordion

我有一个ajQuery UI手风琴(Windows上的最新版本),并希望将其条目拖动到另一个手风琴。使用可拖动和可放置的jQuery UI插件,它可以正常工作。

但是一旦我使手风琴可拖动它就会丢失所有关键快捷键(例如RETURN打开/关闭条目)以及我的热键(添加$('#accordion).keypress(func))。这适用于Firefox和Chrome。

有没有办法强制拖动不能抓住/禁用现有的按键?

这个小提琴显示了问题:http://jsfiddle.net/mvalle/E3GDh/ 您可以单击手风琴标题打开/关闭条目,然后拖动它们(注意光标更改)。就这样。但是如果你删除了对draggable的调用,你可以用RETURN打开手风琴条目,并用光标箭头在它们之间移动。

谢谢!

找到了解决方法

问题似乎是由于在可拖动创建之后焦点没有返回到手风琴,因此返回键作用于手风琴之外的任何焦点。以手风琴所需鼠标点击的价格,以下两个步骤似乎可以解决问题。

1)在创建时禁用可拖动:

$('#accordion').draggable({disabled: true, [other options...]})

2)在可拖动创建后添加(重新启用):

$("#accordion").mousedown(function() {
    $("#accordion").draggable({disabled: false})
})

无论如何,发生这种情况的核心原因仍然让我失望。

0 个答案:

没有答案