javascript - 如何使用 HTML/Javascript 替换 Windows 8 应用程序上应用栏中的按钮?

标签 javascript windows-8 windows-runtime

我是使用 HTML/Javascript 开发 Windows 8 应用程序的新手。

我想动态创建/删除应用栏中的按钮。

例如,我在 html 中有以下 appbar div。

<div id="appbar" data-win-control="WinJS.UI.AppBar" data-win-options="{placement: 'top'}">
    <button id="button" data-win-control="WinJS.UI.AppBarCommand" 
        data-win-options="{id:'button', label:'Button', icon:'add'}" type="button">
    </button>
</div>

我想替换由某些操作触发的按钮,所以我所做的是在js中替换appbar div的innerHTML,如下所示,但我得到的是appbar中一个奇怪的空白方 block 。

var appbar = document.getElementById("appbar");
var html = "<button data-win-control=\"WinJS.UI.AppBarCommand\" data-win-options=\"{id:'button', label:'Another Button', icon:'add'}\" type=\"button\"></button>";
appbar.innerHTML = html;

感谢任何帮助。

谢谢

最佳答案

对应用栏的建议是提前定义所有命令并使用 hideCommands/showCommands显示和隐藏应用栏中的命令。

但是,如果您确实想自己动态创建命令,则只需在代码中再添加一个步骤即可:

WinJS.UI.process(elementThatYouJustCreated);

这将创建 win 控件,并完成获取该控件设置的所有工作。

关于javascript - 如何使用 HTML/Javascript 替换 Windows 8 应用程序上应用栏中的按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12523780/

相关文章:

javascript - 拖动和调整 CSS 变换元素的大小

c# - 如何将 xaml flipview 限制为仅在一个方向上翻转?

c# - 如何在 C# Windows 应用商店应用程序(也称为 WinRT/Metro)中创建查询字符串?

c# - 在 WinRT 的 HttpClient 类中使用 Keep-Alive 连接?

c# - 从 WinRT 下的 WebView 复制内容

javascript - 两条垂直线之间的阴影区域

php - ajax登录问题

javascript - Win8 Metro-JS 应用程序可以截取自己的屏幕截图吗?

html - WinJS 模板 <p> 未呈现

javascript - Angular NgRoute 和传单声明指令