Программно-добавлена кнопка в HTA, не выполняющая подпрограмму при нажатии
Я пытаюсь программно добавить элемент кнопки в HTA. В качестве теста я написал следующий код. Кнопка " Button1 "добавляется в окно HTA, но когда я нажимаю на нее, она не запускает подпрограмму" subButtonClickedMsg". Никаких сообщений об ошибках не производится.
Я добавил две другие кнопки ("Button2 "и" Button3"), чтобы попытаться выяснить, что было не так.
"Элемент button2" называет "subButtonClickedMsg" подпрограмма не вопрос.
"Button3" вызывает подпрограмму "subChangeButton1ValueAttribute", которая:
1) изменяет значение атрибута значение "button1" на "значение button1 изменилось"
2) изменяет атрибут" onclick " на "subButtonClickedMsg" (во всяком случае, так было изначально)
3) отображает MsgBox, чтобы доказать, что атрибут" onclick "имеет значение"subButtonClickedMsg".
Когда я нажимаю на кнопку "Button3", код работает так, как ожидалось. Однако, когда я нажимаю на " Button1 "после нажатия" Button3"," Button1 "все еще не может запустить подпрограмму" subButtonClickedMsg". Опять же, никаких сообщений об ошибках не генерируется.
Я сделал поиск в Google и нашел некоторую информацию о методе "addEventListener". Поэтому я попытался добавить этот код в подпрограмму "subChangeButton1ValueAttribute", чтобы проверить его:
документ.метода getElementById("Кнопка1").метода addEventListener "на кнопке", "subMyButtonOnClick", ложные
но он произвел следующую ошибку сценария, когда я нажал на кнопку " Button3":
ошибка сценария
Объект не поддерживает это свойство или метод:
'document.getelementById (...). addEventListener'
Согласно этой ссылке на MSDN, "addEventListener" должен поддерживаться:
https://msdn.microsoft.com/en-us/library/ff975245(v=против 85). aspx
Я уже прокомментировал эту строчку.
Что я упускаю при попытке программно добавить кнопку, которая приводит к тому, что ее событие onclick не выполняет указанную подпрограмму?
Заранее спасибо за любую помощь.
Что я уже пробовал:
<html> <head> <title>HTATest2</title> <HTA:APPLICATION ID="objHTATest" APPLICATIONNAME="HTATest" SCROLL="yes" SINGLEINSTANCE="yes" WINDOWSTATE="maximize" > </head> <script type="text/vbscript"> Dim myButton Sub subButtonClickedMsg MsgBox "Button has been clicked." End Sub 'subButtonClickedMsg Sub subChangeButton1ValueAttribute 'document.getelementById("Button1").addEventListener "onclick", "subMyButtonOnClick", false myButton.setAttribute "value","Button1 Value Changed" myButton.setAttribute "onclick","subButtonClickedMsg" MsgBox "myButton.getAttribute(""onclick"") = " & myButton.getAttribute("onclick") End Sub 'subChangeButton1ValueAttribute Sub Window_Onload() Set myButton = document.createElement("input") myButton.setAttribute "type","button" myButton.setAttribute "id","Button1" myButton.setAttribute "onclick","subButtonClickedMsg" MsgBox "myButton.getAttribute(""onclick"") = " & myButton.getAttribute("onclick") myButton.setAttribute "value","Button1" document.getElementById("myBody").appendChild(myButton) End Sub 'Window_Onload() </script> <body id=myBody> <input type=button id=idButton2 value=Button2 onclick=subButtonClickedMsg /> <input type=button id=idButton3 value="Button3" onclick=subChangeButton1ValueAttribute /> </body> </html>