当前位置:  开发笔记 > 编程语言 > 正文

如何在自定义帮助器中重新实现jQuery的默认帮助器

如何解决《如何在自定义帮助器中重新实现jQuery的默认帮助器》经验,为你挑选了1个好方法。

我正在创建一个自定义拖动助手(在jQuery中):

$('.dragme', element).draggable({
    appendTo: 'body',
    helper  : custom_drag_helper,
    opacity : 0.5
});

我这样做是因为我想有时克隆并且有时会执行默认功能,即拖动原始元素.

function custom_drag_helper() {
    if (/*criteria on when to move instead of clone */) {
        return $(this); /* this is what helper: 'original' seems to do */
    } else {
        clone = $(this).clone(); /* this is what helper: 'clone' does */
        return clone;
    }
}

但我无法使用原始功能.return clone()工作正常,但返回$(this)没有任何乐趣.



1> MDCore..:

好的,在输入这​​个问题时,我做了一些更多的潜水源并发现了这条小线:

if (this.options.helper == 'original' && !(/^(?:r|a|f)/).test(this.element.css("position")))
        this.element[0].style.position = 'relative';

我在尝试解决这个问题的那一天没有找到.添加this.style.position = 'relative';到我上面的代码修复了问题!

推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有