【问题标题】:Emberjs and jQuery UI clone helperEmberjs 和 jQuery UI 克隆助手
【发布时间】:2012-04-29 11:04:01
【问题描述】:

我正在尝试让 jqueryui 拖放以使用 emberjs。我在这里设置了一个小提琴:http://jsfiddle.net/XMgwV/13/ 但我似乎无法触发 drop 事件。 mixin 来自这个演示:http://www.lukemelia.com/blog/archives/2012/03/10/using-ember-js-with-jquery-ui/

编辑:
如果我将 jQueryUI 可拖动辅助函数更改为“原始”,它会按预期工作。这似乎是 jquery ui .clone() 和 ember 的问题,正如 #7 here 中所指出的那样。 codebrief博文中的safeClone方法好像不是solve the problem fully..

有人知道如何让它按预期工作吗?

【问题讨论】:

    标签: jquery-ui ember.js jquery-ui-draggable jquery-ui-droppable


    【解决方案1】:

    我必须修复 jQuery UI 包装器才能使其正常工作。但我能想出的只是一个肮脏的黑客。

    我不得不转

    var ui = jQuery.ui[this.get('uiType')](options, this.get('element'));
    

    进入

    var ui = $(this.get('element'))[this.get('uiType')]();
    

    http://jsfiddle.net/MSch/LrHTB/1/

    【讨论】:

    • 这对我有用!我可以继续构建我的应用程序,而你们这些聪明的家伙会找出做幕后工作的最佳方法:)
    • 请记住,这将禁用所有 jQueryUI 元素的选项收集。
    • 还有,供以后参考 this.$() == $(this.get('element'))
    • 更改此行时,jsfiddle的闪烁似乎也消失了。
    【解决方案2】:

    如果您添加以下内容,您的示例似乎会起作用:

        clone.removeClass('ember-view');
    

    到 safeClone 助手。

    这是一个可以解决问题的 jsfiddle:http://jsfiddle.net/Wu2cu/

    【讨论】:

    • 很棒的发现!希望它不会破坏任何东西:)我怀疑它会
    • 我将在接下来的几天里在一个项目中实现它,如果出现任何问题会通知您
    • 你知道为什么 drop 事件会触发两次吗?还没有想通。我在 Chrome 和 Safari 中都有这种行为
    • henk 向我指出 jquery 事件触发一次,dom 事件触发一次。他甚至做了一个小提琴演示:jsfiddle.net/Wu2cu/2
    猜你喜欢
    • 2023-04-02
    • 2016-08-24
    • 1970-01-01
    • 2011-11-24
    • 2016-10-14
    • 2011-07-15
    • 2011-01-28
    • 1970-01-01
    • 2018-07-25
    相关资源
    最近更新 更多