【问题标题】:Change Dojo contentpane attribute using JavaScript使用 JavaScript 更改 Dojo 内容窗格属性
【发布时间】:2012-10-13 19:54:07
【问题描述】:

我有道场(1.8)contentpane

<div data-dojo-type="dijit/layout/ContentPane" data-dojo-props="splitter:false, region:'leading', href:'page2.php?name=variableName'" style="width: 100%; height: 100%;" id="embeddedPg"> <!-- Embedded content shown here --> </div>

我正在尝试更改data-dojo-propshref 属性的值。我写了一个JavaScript函数如下:

function loadInfo(tableName){           
        var dojowidget = document.getElementById("embeddedPg");
        dojowidget.setAttribute("data-dojo-props","href:page2.php?name="+tableName);
    }

当用户点击页面上的特定链接时调用此函数,并被适当地调用。
它没有给我任何 JavaScript 错误,但它也不起作用。这样做的正确方法是什么?我正在使用 Dojo 1.8。

【问题讨论】:

    标签: javascript dojo contentpane


    【解决方案1】:

    document.getElementById 不返回 dojo 小部件。它只是返回 DOM 对象。

    要访问 dojo 小部件,您应该使用dijit/registry.byId。 你可以通过ContentPane's attr(name,value)改变href属性,你应该调用refresh()来显示它。

    require(["dijit/layout/ContentPane", "dijit/registry",  "dojo/domReady!"]
      ,function(ContentPane, registry) {
    
        var refreshPage = function(tableName) {
            var cPane = registry.byId("embeddedPg");
            cPane.attr("href", "page2.php?name="+tableName);
            cPane.refresh();
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多