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

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

我做错了什么?

最佳答案

你是否正确初始化了appBar变量?它没有在您的代码片段中定义。试试这个方法,至少在我的应用程序中有效。

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

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

关于javascript - Windows Phone 8.1 WinJS Appbar 禁用属性不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30768959/

相关文章:

javascript - 使用 css 模块如何定义多个样式名称

c# - ASP.NET - Window.Open(URL) - 文件被缓存,如何停止?

javascript - 制作所有图像的来源 https ://using *. user.js

c# - 从问题背后的代码调用JS函数

javascript - 将括号添加到字符串数组中的最小和最大数字

html - 如何使用 css flex boxes 创建 slider 布局?

xaml - 使用MVVM将ScrollIntoView转换为SelectedItem(Windows Phone 8.1)

c# - 作为后台任务发送短信

c# - 如何像Panorama一样在Hub中自由移动对象

javascript - 谁能解释我的正则表达式有什么问题?