我正在使用这个Windows 8测试应用程序,我正在使用网格应用程序模板。在itemDetail.html中,我有以下HTML代码(我删除了该div中的所有其他代码并添加了此按钮,其余的html未被触及):
<div class="item-info">
<button id="menuLink">Get me the menu</button>
</div>
我在itemDetail.js的Pages.define函数的ready成员中添加了以下JS代码:
var menuButton = document.getElementById("menuLink");
menuButton.setAttribute("onclick", "menuButtonClickHandler()");
使用以下代码在Pages.define函数之后声明menuButtonClickHandler()函数:
function menuButtonClickHandler() {
var messageDialog = new Windows.UI.Popups.MessageDialog("Here's your menu");
}
当我点击按钮时,我得到以下异常:
0x800a1391 - JavaScript runtime error: 'menuButtonClickHandler' is undefined
我想在哪里'定义'这个功能?模板正在使用JS文件中已经存在该函数的所有其他代码,因此该函数应该可用。
还有一些奇怪的原因,如果我使用addEventListener,我甚至无法添加事件:
menuButton.addEventListener("click", buttonClickHandler, false);
答案 0 :(得分:1)
您尝试添加事件侦听器的方式非常脏,显然无法正常工作。尝试这样的事情:
var menuButton = document.getElementById("menuLink");
menuButton.addEventListener("click", function(){
//do something
}, false);