Приложение UWP - ошибка времени выполнения JavaScript: не удалось установить свойство 'onclick' для неопределенной или нулевой ссылки - PullRequest
0 голосов
/ 12 сентября 2018

Я следую этому Официальному учебнику MSDN , чтобы создать мой первый UWP .Но когда я запускаю приложение, оно выдает следующую ошибку в первой строке метода onload () в файле main.js:

Ошибка времени выполнения JavaScript: невозможно установить свойство onclick'произошла неопределенная или нулевая ссылка

Я использую последний Сборка 17134 (версия 1803) UWP в последней версии VS2017.Я сомневаюсь, что MSDN опубликует учебник без тестирования их кода.Так что, возможно, это связано с версией сборки и версиями VS2017, поскольку я использую последние версии, а учебнику более года.

Я пытался понять следующие сообщения SO, но не совсем понял.Может быть, так как я новичок в UWP: этот пост и этот пост . Вопрос : Что может быть причиной ошибки и как ее исправить?

Inded.html :

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>WUP_TestSep2018</title>
    <link href="css/default.css" rel="stylesheet" />
</head>
<body>
    <div>Content goes here!
    <p>Click the button...</p>
    <button id="buttonID">Hello World</button>
    </div>
    <script src="js/main.js"></script>
</body>
</html>

main.js :

window.onload = function () {
    document.getElementById("button").onclick = function (evt) {
        sayHello()
    }
}

function sayHello() {
    var messageDialog = new Windows.UI.Popups.MessageDialog("Hello, world!", "Alert");
    messageDialog.showAsync();
}

Ответы [ 2 ]

0 голосов
/ 12 сентября 2018

В вашем index.html вы объявляете кнопку с идентификатором "buttonId":

<button id="buttonId">Hello world</button>

но в вашем javascript вы пытаетесь получить его по

document.getElementById("button").onclick = function...

Что произойдет, если вы попытаетесь

document.getElementById("buttonId").onclick = function...

По сути, в исходном коде происходит то, что функция document.getElementById () возвращает неопределенное значение, поскольку такого идентификатора не существует. Затем вы пытаетесь настроить свойство onclick для undefined.

0 голосов
/ 12 сентября 2018

document.getElementById("button") объект не имеет свойства "onclick".

Вы написали неправильный идентификатор.

document.getElementById("button")

->

document.getElementById("buttonID")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...