首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery live draggable / live droppable?

jQuery live draggable / live droppable?
EN

Stack Overflow用户
提问于 2013-05-22 21:48:33
回答 2查看 2.3K关注 0票数 3

这是我的代码。我已经添加了一些类,并删除了它的一些函数。CSS很好地代表了设计,但是当我想要使用我添加到这个函数中的类时,jQuery不能做到这一点。如何使用live或'on'函数来实现这些功能?如何访问这些类以便在droppable函数中再次使用它们?

代码语言:javascript
运行
复制
$( ".droppable" ).droppable({
    drop: function( event, ui ) {
        $(this).removeClass('droppable');
        $(this).removeClass('ui-droppable');

        var dragIMG = '<img class="dragBox ui-draggable" data-type="'+img+'" src="img/'+img+'.jpg" alt="" style="position: relative;"/>';
        $(this).append(dragIMG);
        $('#box'+box).empty();
        $('#box'+box).addClass('droppable');
        $('#box'+box).addClass('ui-droppable');
    }
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-22 21:53:57

据我所知,你不能像委托事件处理程序那样委托插件。选择器选择在执行时匹配的元素,然后运行插件代码以对这些元素执行任何需要初始化的操作。任何在以后匹配选择器的新元素都不会在它们上调用初始化代码。

您需要再次调用插件函数。像这样的东西应该是有效的:

代码语言:javascript
运行
复制
var droppableOptions = {
    drop: function (event, ui) {
        $(this).removeClass('droppable');
        $(this).removeClass('ui-droppable');

        var dragIMG = '<img class="dragBox ui-draggable" data-type="' + img + '" src="img/' + img + '.jpg" alt="" style="position: relative;"/>';
        $(this).append(dragIMG);
        $('#box' + box).empty().addClass('droppable').addClass('ui-droppable').droppable(droppableOptions);
    }
}

$('.droppable').droppable(droppableOptions);
票数 4
EN

Stack Overflow用户

发布于 2013-05-22 21:57:19

或者,您可以使用一个名为livequery (https://github.com/brandonaaron/livequery)的插件并调用dragable-function。

示例

代码语言:javascript
运行
复制
$('a') 
.livequery('click', function(event) { 
    alert('clicked'); 
    return false; 
});
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16693525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档