我有一个拖放脚本来传输面板。
两天前我正在测试该脚本,它正在所有浏览器上运行,但现在它在Chrome中无效:
$('.dragbox')
.each(function(){
$(this).hover(function(){
$(this).find('#sc-top-panel').addClass('collapse');
}, function(){
$(this).find('#sc-top-panel').removeClass('collapse');
})
.find('#sc-top-panel').hover(function(){
$(this).find('.configure').css('visibility', 'visible');
}, function(){
$(this).find('.configure').css('visibility', 'hidden');
})
.click(function(){
$(this).siblings('.dragbox-content').toggle();
updateWidgetData();
})
.end()
.find('.configure').css('visibility', 'hidden');
});
此部分在Chrome中不起作用:
.click(function(){
$(this).siblings('.dragbox-content').toggle();
未发出updateWidgetData()
次来电。其他功能和操作员也不起作用。
UPD: .click函数出现问题。 Chrome无法处理它。我试着替换她。例如,.bind('click'....); .live( '点击' ....)。这一切都行不通。
答案 0 :(得分:2)
我对同一个脚本有同样的问题。我不知道出了什么问题,但几天前脚本工作正常,然后突然停止工作。可折叠部分工作正常(脚本保存折叠/未折叠的状态),但不会保存拖放。
整个脚本在IE和Mozilla中运行良好,Chrome是唯一不会保存状态的浏览器。我没有在Safari中测试它。
编辑:我已针对我的具体问题修复了脚本,不知道是否会帮助其他人。以下是代码的一部分:
stop: function(event, ui){
ui.item.css({'top':'0','left':'0'}); //Opera fix
if(!$.browser.mozilla && !$.browser.safari)
updateWidgetData();
我删除了:
if(!$.browser.mozilla && !$.browser.safari)
现在它工作正常。我不知道为什么突然代码停止只在Chrome中工作。如果其他人发生此问题,请告诉我。