混合Cutesoft Editor和Colorbox时的Javascript问题

时间:2009-12-17 13:43:13

标签: javascript jquery editor colorbox

我有轻微的javascript问题,这就是为什么我不喜欢javascript的原因。 在我的页面上,我使用Colorbox弹出div,可以添加新图像。然后我使用Cutesoft Editor作为图像选择器打开一个窗口,用户可以在其中选择图像。我的问题是Image Picker窗口在Colorbox后面打开,因此除非关闭弹出窗口,否则用户无法选择图像。 Picture of the colorbox and the button for the image picker http://gazet.se/TemporaryFiles/preview.png 我一直在阅读我能找到的Cutesoft的所有文档,我能找到的唯一命令是editor.FocusDocument(),但它仍然不起作用。我开始怀疑Colorbox导致了这个问题,并且Cutesoft不允许在Colorbox上显示弹出窗口。

Cutesoft guide

Colorbox guide

显示图像弹出窗口的代码(按下图片上的按钮时执行):

function callInsertImage(clientID) {
    var editor1 = document.getElementById('<%=Editor1.ClientID%>');    
    editor1.FocusDocument();  
    var editdoc = editor1.GetDocument();    
    editor1.ExecCommand('new');
    editor1.ExecCommand('InsertImage');
    editor1.FocusDocument();
    InputURL(clientID);
    editor1.FocusDocument();    
}    

function InputURL(clientID)
{
    var editor1 = document.getElementById('<%=Editor1.ClientID%>');
    var editdoc = editor1.GetDocument();  
    var imgs = editdoc.images;
    if(imgs.length > 0) {
        document.getElementById(clientID).value = imgs[imgs.length - 1].src;
        if (document.getElementById(clientID).value.substr(0, 19) == 'http://www.gazet.se')
            document.getElementById(clientID).value = "~" + document.getElementById(clientID).value.substr(19);
        editor1.ExecCommand('new');
        document.getElementById(clientID).focus();   
    }  
    else {
        setTimeout(function() { InputURL(clientID); }, 500); 
    }  
}

打开彩盒的代码:

function NewImage() {
    ResetBox();
    this.boxTitle.innerHTML = 'Ny bild';
    this.buttonSave.value = 'Lägg till bilden';        
    $.fn.colorbox({open:true,width:"700px",inline:true,href:"#inline_example1",speed:100});
}

1 个答案:

答案 0 :(得分:1)

我认为它与这些层(html元素)的css属性有关,它们负责分层顺序。调查它(即Firebug)并搜索z-index。窗口选择器的z-index可能低于Cutesoft编辑器的z-index。

编辑我刚检查过它。 Colorbox有z-index:9999;,ImagePicker有z-index: 8888;。我建议将colorbox.css第6行更改为

#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:8000; overflow:hidden;}