第一部分允许您首先将元素拖动到可排序的div中,这样可以正常工作.然后我想让div变得可以排序,所以我可以将新元素(部分)拖到那些中.
那部分也可以正常工作,除非有时候如果你重新排序元素(较暗的元素)它不会让你把一部分放回去,直到你再次重新排序它们,或者试着把它放在其他元素之一然后回去它.
这有点难以解释,但这是一个屏幕演员:http://screencast.com/t/Ls2ksVY4Q
演示位于:http://jsfiddle.net/9MXWp/
这是相关的代码:
$(document).ready(function() {
$('#the-grid').sortable({
tolerance: 'pointer',
update: function(event, ui) {
if( $(ui.item).has('.close').length == 0 ) {
$(ui.item).prepend('<a href="#" class="close" onclick="$(this).parent().remove();">x</a>');
}
$('.part-holder', ui.item).sortable({
tolerance: 'pointer',
update: function(event, ui) {
if( $(ui.item).has('.close').length == 0 )
$(ui.item).prepend('<a href="#" class="close" onclick="$(this).parent().remove();">x</a>');
}
});
}
});
$('#sidebar > ul > li.part').draggable({
helper: 'clone',
connectToSortable: '.part-holder',
addClasses: false
});
$('.drag-element').draggable({
revert: 'invalid',
helper: 'clone',
connectToSortable: '#the-grid',
addClasses: false
});
$('#update-list').click(updateList);
});
Run Code Online (Sandbox Code Playgroud)
将元素1 …
好吧,我有一个我正在研究的rails gem,我希望它覆盖sprockets中的特定方法.
我想覆盖的方法是:Sprockets :: Base.digest,以便在编译应用程序的资产时,我可以将指纹从我的gem版本中删除.
我该怎么做呢?
在我的gem中,我创建了一个文件lib/sprockets/base.rb并放置以下代码:
class Sprockets::Base
def digest
@digest = digest_class.new.update(MyGem::VERSION)
@digest.dup
end
end
当我跑步时,bundle exec rake assets:precompile我得到:
undefined method 'logger=' for #<Sprockets::Environment:0x1315b040>
因此,在我看来,整个类都会以某种方式被覆盖(这会丢失它,以及其他方法),而不是仅仅覆盖一个方法.
如果我将这段代码直接包含在使用两个宝石的应用程序的rakefile中,那么事情就可以完美地运行.