这是我的代码。我已经添加了一些类,并删除了它的一些函数。CSS很好地代表了设计,但是当我想要使用我添加到这个函数中的类时,jQuery不能做到这一点。如何使用live或'on'
函数来实现这些功能?如何访问这些类以便在droppable
函数中再次使用它们?
$( ".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');
}
});
发布于 2013-05-22 21:53:57
据我所知,你不能像委托事件处理程序那样委托插件。选择器选择在执行时匹配的元素,然后运行插件代码以对这些元素执行任何需要初始化的操作。任何在以后匹配选择器的新元素都不会在它们上调用初始化代码。
您需要再次调用插件函数。像这样的东西应该是有效的:
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);
发布于 2013-05-22 21:57:19
或者,您可以使用一个名为livequery (https://github.com/brandonaaron/livequery)的插件并调用dragable-function。
示例
$('a')
.livequery('click', function(event) {
alert('clicked');
return false;
});
https://stackoverflow.com/questions/16693525
复制相似问题