Windows Phone 8.1 WinJS Appbar禁用属性不起作用

时间:2015-06-10 23:18:55

标签: javascript html windows-phone-8.1 winjs

我试图隐藏(禁用)appBar,因此它不会显示在我的应用中的某个页面上。但是,disabled属性似乎无法正常工作,或者我的语法已关闭。我尝试过使用它:

<script>
    var disabled = appBar.disabled;
    appBar.disabled = disabled;
</script>

<script>
    var disabled = appBar.disabled;
    appBar.disabled = true;
</script>

但appBar仍然可见。在这两个实例中,我都将脚本放在HTML下面:

<!-- BEGINTEMPLATE: Template code for an app bar -->
<div id="appBar" data-win-control="WinJS.UI.AppBar" data-win-options="{closedDisplayMode:'minimal', disabled: false}">
    <button data-win-control="WinJS.UI.AppBarCommand" data-win-options="{id:'cmdAbout', label:'about...', section:'selection'}"></button>
</div>
<!-- ENDTEMPLATE -->
<div id="statusMessage"></div>

<script>
    var disabled = appBar.disabled;
    appBar.disabled = true;
</script>

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您是否正确初始化appBar变量?它没有在您的代码段中定义。试试这种方式,至少它可以在我的应用程序中运行。

<script>
(function(){
    var appBar = document.getElementById("appBar");
    if(appBar.winControl) {
        appBar.winControl.disabled = true;
    }
}());
</script>

另外请不要忘记WinJS.UI.processAll异步运行,因此您的脚本不能仅在HTML标记之后放置,只有在已经创建AppBar时才会起作用。