Видимость переменных (снова)
Функция doOpen() открывает новое окно и заносит идентификатор этого окна в глобальную переменную win.
Функция doClose берёт этот идентификатор окна и закрывает его. Но почему-то не работает, пишет "win is undefined", функция doClose() не видит переменную win... Что не так понимаю? Как решить? <a href="" onclick="doOpen('http://yandex.ru', 'namewin', 'width=300, height=200')">Window Open</a><br> <a href="" onclick="doClose()">Window Close</a> var win; // global var function doOpen(url,name,properties) { win = open(url,name,properties); } function doClose() { win.close(); } |
Потому что ты переходишь по ссылке. Атрибут href="" создает ссылку на текущую страницу. Не пиши атрибут вообще. Или используй псевдо-протокол javascript:
|
Аха, ясно, спасибо. То есть можно сделать тремя вариантами:
1. <a onclick="doClose()">Window Close</a><br> 2. <a href="#" onclick="doClose()">Window Close</a><br> 3. <a href="javascript:doClose()">Window Close</a> Верно? |
Лучше всего <button onclick="doClose()">Close Window</button>
Если пишешь href (даже если #), то клик надо отменять: onclick="return doClose(), false" |
Ясно, спасибо.
|
Часовой пояс GMT +3, время: 14:07. |