Javascript jQuery单击事件不稳定,占位符卡住

Javascript jQuery单击事件不稳定,占位符卡住,javascript,jquery,jquery-ui,jquery-ui-sortable,Javascript,Jquery,Jquery Ui,Jquery Ui Sortable,我正在把一个图像选择工具移植到jQuery中。我有几个小问题让我很恼火-- 首先,可排序占位符似乎卡在UL的顶部——如果项目被删除,它不会向下移动以显示建议的新位置 其次,附加到按钮的点击事件不能可靠地触发——有时它们工作正常,有时需要2次、3次或4次点击才能触发 我已经阅读了大量的教程和jQuery文档,我相信我做得很好,但我确信有更好的方法来处理我尝试的内容 下面是一个显示行为的JSFIDLE。感谢您的帮助 测试了第一个问题 ie9(如果以ie8兼容模式加载文档,占位符将按预期工作) ch

我正在把一个图像选择工具移植到jQuery中。我有几个小问题让我很恼火--

首先,可排序占位符似乎卡在UL的顶部——如果项目被删除,它不会向下移动以显示建议的新位置

其次,附加到按钮的点击事件不能可靠地触发——有时它们工作正常,有时需要2次、3次或4次点击才能触发

我已经阅读了大量的教程和jQuery文档,我相信我做得很好,但我确信有更好的方法来处理我尝试的内容

下面是一个显示行为的JSFIDLE。感谢您的帮助


测试了第一个问题

  • ie9(如果以ie8兼容模式加载文档,占位符将按预期工作)
  • chromium21(在一台电脑上工作,在另一台电脑上不工作,我很失望)
  • 操作11
占位符按预期工作,第二个问题是您需要准确地单击元素,如果您单击按钮而不是图像,它只会滚动到页面顶部

这将解决问题,改变现状

$("#sortable").on("click", "i.icon-pencil", function(e) {

编辑: 找到了

您有
float:left(位于.span12的bootstrap-combined.min.css中)用于所有li元素,但不用于突出显示

把它放在你的小提琴里,它就会起作用


它在ie上在家工作,因为我的兼容性总是设置为IE8,现在我去掉了这个设置,它不工作了。顺便说一下,ie8不将
float:left
应用于
display:list项

我正在使用chromium和占位符功能,正如预期的那样,第二个问题似乎是拖动不仅会启动图像,而且会启动li元素中的所有位置,并覆盖了单击按钮。如果您去掉小提琴中使用的CSS,第一个问题似乎会自行解决。谢谢!这个修正确实有效。我也很欣赏关于它失败原因的细节。然而,我无法复制占位符功能——它在Chrome和FF中仍然无法工作。您对代码做了任何修改吗?没有,我输入了JSFIDLE并尝试了。我目前没有FF,但它甚至可以在opera11中使用。第一个版本现在在ie9和chrome21中出现,我很失望。在我的家用电脑上它工作,在我的办公室电脑上它不工作t@julio你试过编辑过的答案吗?我写这篇文章是因为我不确定stackoverflow如何处理对答案的编辑。。。
$("#sortable").on("click", "a.btn:has(i.icon-pencil)", function(e) {