我无法在windows8设置超级按钮中使用document.GetElementByID()获得切换控件

时间:2012-10-23 03:56:10

标签: javascript windows-8 winjs

我对javascript很新,所以这让我很困惑。所有设置魅力教程仅显示如何将控件放入设置超级按钮,但没有一个说明如何查找其中获得的信息。 我尝试做其中一个(就像我在主程序中做的那样):

var muteToggle = document.GetElementById("Mute");

其中“Mute”是单独的html文件中的id。 muteToggle一直都是null。我试过把它放在

之后
WinJS.UI.ProcessAll().then(function completed() {...

但这也不起作用。其他所有内容与此页面中的内容相同:http://msdn.microsoft.com/en-us/library/windows/apps/hh780611.aspx

2 个答案:

答案 0 :(得分:0)

确保您在从设置HTML引用的js文件的ready函数中执行此操作。尝试在该行中断开时打开JavaScript控制台或QuickWatch,并查看DOM资源管理器以查看是否可以找到切换控件。你应该能够访问它。另外,请尝试使用element.getElementById而不是document.getElementById。两者都应该实际工作,但只要你正在排除故障。祝你好运。

答案 1 :(得分:0)

您的问题是您尝试从应用程序激活期间运行的代码中获取对HTML元素的引用。虽然这段代码可以定义要为设置窗格加载的HTML,但它实际上并不将HTML加载到DOM中。你只是无法从该位置获取实例。

您需要做的是让flyout设置有自己的js文件来实现IPageControlMembers。特别是,您需要实现ready方法。一旦为页面加载了所有HTML和控件(包括切换),就会调用此方法。该链接有一个如何执行此操作的示例。

另见: