我有一个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})
})
无论如何,发生这种情况的核心原因仍然让我失望。