2015-06-10 95 views
1

我试图隐藏(禁用)appBar,所以它不显示在我的应用程序中的页面上。但disabled属性似乎没有工作,或我的语法关闭。我已经用它喜欢尝试:Windows Phone 8.1 WinJS Appbar禁用属性不起作用

<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> 

我在做什么错了?

回答

0

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

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

另外不要忘记,WinJS.UI.processAll异步运行,使你的脚本不能只是放在HTML标记后,它只会在AppBar已经被创建工作。

+0

谢谢你,让我试试当我回家! –

+0

它的作品!谢谢! –

相关问题