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