Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Не могу привязать обработик onClick (https://javascript.ru/forum/events/65113-ne-mogu-privyazat-obrabotik-onclick.html)

tasya53 27.09.2016 12:05

Не могу привязать обработик onClick
 
Вот простейший код - назвать *.js.
В кратце - из скрипта создается объект броузера, в который выводится кнопка - ее событие onclick надо привязать к функции из скрипта click_Cr2Note() ... Cама кнопка из скрипта доступна - ее название меняется IE.document.getElementById('Cr2Note').value='Уб ть 2 блокнота';.... а вот обработчик нажатия не хочет. ПОМОГИТЕ ПОЖАЛУЙСТА и если можно объясните в чем проблема
--------------------------
function click_Cr2Note()
{
WScript.Echo("2 NotePad opened");
}


function Output()
{
//Открываем окно IE и выводим в него форму
var IE= new ActiveXObject ("InternetExplorer.Application");
IE.Navigate("about:blank"); while (IE.Busy) WScript.Sleep(100);
IE.Document.write(
"<HTML><HEAD><meta http-equiv='Content-Type' content='text/html; charset=utf-8'></HEAD><BODY><FORM><INPUT TYPE='button' id='Cr2Note' value='Создать 2 блокнота';");
IE.Document.write("</FORM><script language='JavaScript'>;");
IE.Document.write("</script></BODY></HTML>");
with (IE) {AddressBar=false; MenuBar=false; ToolBar=false; StatusBar=false; Width=100; Height=40; Visible=true;};
return IE;
}

IE=Output();
WScript.Sleep(3000);

IE.document.getElementById('Cr2Note').onClick='cli ck_Cr2Note';
IE.document.getElementById('Cr2Note').value='Уб ть 2 блокнота';
---------------------------

warren buffet 27.09.2016 13:08

Цитата:

Сообщение от tasya53
IE.document

А оно точно так может? То есть из WSript обращаться в DOM?

Я к тому, что наверно потребуется создать элемент <script> в том же .write и там уже программировать события DOM'а

UPD, а оно там есть но почему-то пустое. Отформатируй код, нихера же не понятно.

warren buffet 27.09.2016 13:12

А, блин, форматируйте коды! Вот косяк

onClick='cli ck_Cr2Note';

У тебя там строка, а нужен указатель на функцию

onClick=click_Cr2Note;

без кавычек.

tasya53 28.09.2016 21:32

Пробовал, ничего не получается (((. К свойству объекта документа процесса IE из процесса Wscript доступ есть - строка
IE.document.getElementById('Cr2Note').value='Уб ать 2 блокнота'; - после того как процесс проспится меняет текст в кнопке, а вот прицепить обработчик события функцию из процесса Wscript никак не выходит. Может есть какое-то заветное слово типа parent чтоб сослаться на родительский процесс ?

Aetae 29.09.2016 03:19

Мб надо конструировать функцию внутри, т.к. внешняя не пробрасывается и вообще считается неведомым объектом. Тут надо курить мсдн, как вся эта хренотень у них работает.
Если нужно сразу окно IE - юзайте hta.


Часовой пояс GMT +3, время: 01:38.