Невозможно закрыть и снова открыть плавающую панель в Dojox

Я пытаюсь открыть плавающую панель, используя событие onClick, она открывается нормально, но показывает эту ошибку в консоли, this.onClick is not a function.

Если я закрою плавающую панель, а затем попытаюсь снова открыть ее, она больше не откроется, и я продолжаю получать ту же ошибку в консоли.

Это мое приложение. Вы можете увидеть всплывающую панель, когда нажмете кнопку Layers на панели инструментов.

Это основная функция, открывающая плавающую панель.

function addFloatingPanel() {
    var fp = new dojox.layout.FloatingPane({
        title: "Layers",
        resizeable: true,
        dockable: false,
        closable: true,
        style: "position:absolute; top:0; left:50px; width:245px; height: 175px; z-index: 100; visibility: hidden;",
        id: 'floater'
    }, dojo.byId('floater'));
    fp.startup();
    if (dojo.byId('floater').style.visibility === 'hidden') {
        dijit.byId('floater').show();
    } else {
        dojo.byId('floater').style.visibility = 'hidden'
        dijit.byId('floater').show();
    }
}

Где я ошибаюсь? Кроме того, плавающая панель видна в Firefox, но не в Chrome!


person Sam007    schedule 22.09.2012    source источник


Ответы (1)


Требуется для создания функции dojo.connect

<div data-dojo-type="dijit.form.Button" id="searchTool" >Search</div>

для onclick события,

searchTl = dojo.byId('searchTool');
dojo.connect(searchTl, "onclick", openSrFp);

и добавьте эту функцию,

var fp = dojo.byId('floater');
            if (fp.style.visibility=="hidden") {
                fp.style.visibility="";
            } else {
                fp.style.visibility="hidden";
            }
person Sam007    schedule 23.11.2012