0

我正在尝试使用 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 中不可见!

4

1 回答 1

0

需要创建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";
            }
于 2012-11-23T19:54:52.530 回答