2

我正在开发这个 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()");

menuButtonClickHandler()函数在 Pages.define 函数之后声明,代码如下:

function menuButtonClickHandler() {
    var messageDialog = new Windows.UI.Popups.MessageDialog("Here's your menu");
    }

当我单击按钮时,出现以下异常:

0x800a1391 - JavaScript 运行时错误:“menuButtonClickHandler”未定义

我想在哪里“定义”这个功能?该模板正在使用该函数已经存在的 JS 文件中的所有其他代码,因此该函数应该可供它使用。

同样出于某种奇怪的原因,如果我使用,我什至无法添加事件addEventListener

menuButton.addEventListener("click", buttonClickHandler, false);
4

1 回答 1

2

您尝试添加事件侦听器的方式非常肮脏并且显然无法正常工作。尝试这样的事情:

var menuButton = document.getElementById("menuLink");
menuButton.addEventListener("click", function(){
     //do something
}, false);
于 2013-06-13T02:37:10.333 回答