Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.10.2010, 16:42
Интересующийся
Отправить личное сообщение для B.C.Rich Посмотреть профиль Найти все сообщения от B.C.Rich
 
Регистрация: 01.10.2010
Сообщений: 10

Вопрос по window.open
Вот такой код:

<script type="text/javascript">

 document.onclick = function() {
 var x = window.open(
 'http://echo.msk.ru/',
 'new',
 'width=600px, height=20px'
 );
 x;
 }

</script>


По клику на странице открывается окно. При этом, если вынести определение переменной X из функции, то код не работает. В чем дело?
Ответить с цитированием
  #2 (permalink)  
Старый 01.10.2010, 16:55
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

Это не определение, вы запускаете window.open по onclick. Если же просто прописать вызов window.open, то открытие окна будет невозможно из-за блокировки всплывающих окон.
Ответить с цитированием
  #3 (permalink)  
Старый 01.10.2010, 17:01
Интересующийся
Отправить личное сообщение для B.C.Rich Посмотреть профиль Найти все сообщения от B.C.Rich
 
Регистрация: 01.10.2010
Сообщений: 10

Я имел в виду если написать вот так:

<script type="text/javascript">

 var x = window.open(

 'http://echo.msk.ru/',
 'new',
 'width=600px, height=20px'
 );


 document.onclick = function() {

 x;
 }
</script>


Или так неправильно?
Ответить с цитированием
  #4 (permalink)  
Старый 01.10.2010, 17:24
Аватар для HelpeR
Профессор
Отправить личное сообщение для HelpeR Посмотреть профиль Найти все сообщения от HelpeR
 
Регистрация: 21.10.2008
Сообщений: 241

document.onclick = function() {
    var x = window.open('http://echo.msk.ru/', 'new', 'width=600px, height=20px');
}

Вполне нормально работает!
Ответить с цитированием
  #5 (permalink)  
Старый 01.10.2010, 17:27
Аватар для HelpeR
Профессор
Отправить личное сообщение для HelpeR Посмотреть профиль Найти все сообщения от HelpeR
 
Регистрация: 21.10.2008
Сообщений: 241

Сообщение от B.C.Rich Посмотреть сообщение
Я имел в виду если написать вот так:

<script type="text/javascript">

 var x = window.open(

 'http://echo.msk.ru/',
 'new',
 'width=600px, height=20px'
 );


 document.onclick = function() {

 x;
 }
</script>


Или так неправильно?
Конечно не правильно. Наверное вы хотите так
var x = function() {
    window.open();
}
document.onclick = x;
Ответить с цитированием
  #6 (permalink)  
Старый 01.10.2010, 17:33
Интересующийся
Отправить личное сообщение для B.C.Rich Посмотреть профиль Найти все сообщения от B.C.Rich
 
Регистрация: 01.10.2010
Сообщений: 10

Не совсем так. Я хочу создать две функции: одна открывает окно, вторая - закрывает по какому-либо другому событию.
Поэтому хотел вынести

var x = window.open(
'http://echo.msk.ru/',
'new',
'width=600px, height=20px'
);

за пределы функции. Но тогда функция не работает.
Ответить с цитированием
  #7 (permalink)  
Старый 01.10.2010, 17:36
Аватар для HelpeR
Профессор
Отправить личное сообщение для HelpeR Посмотреть профиль Найти все сообщения от HelpeR
 
Регистрация: 21.10.2008
Сообщений: 241

var new_win;
var open = function() {
    new_win = window.open();
}
var cl = function() {
    new_win.close();
}
document.onclick = open;
obj.onclick = cl;
Ответить с цитированием
  #8 (permalink)  
Старый 01.10.2010, 17:52
Интересующийся
Отправить личное сообщение для B.C.Rich Посмотреть профиль Найти все сообщения от B.C.Rich
 
Регистрация: 01.10.2010
Сообщений: 10

Принцип понял, но не работает

var new_win;
var open = function() {
new_win = window.open('http://echo.msk.ru/','new','width=600px, height=20px');
}

var cl = function() {
new_win.close();
}

document.onclick = open;
document.onkeypress = cl;
Ответить с цитированием
  #9 (permalink)  
Старый 01.10.2010, 17:56
Аватар для HelpeR
Профессор
Отправить личное сообщение для HelpeR Посмотреть профиль Найти все сообщения от HelpeR
 
Регистрация: 21.10.2008
Сообщений: 241

сори
var new_win;
var op = function() {
    new_win = window.open('http://echo.msk.ru/','new','width=600px, height=20px');
}

var cl = function() {
    new_win.close();
}

document.onclick = op; // слово open зарезервированное слово
document.onkeypress = cl;
Ответить с цитированием
  #10 (permalink)  
Старый 01.10.2010, 18:14
Интересующийся
Отправить личное сообщение для B.C.Rich Посмотреть профиль Найти все сообщения от B.C.Rich
 
Регистрация: 01.10.2010
Сообщений: 10

Спасибо! Теперь все работает
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
время загрузки window.open окна Oiron Events/DOM/Window 2 17.09.2010 14:10
Вопрос о циклических ссылках (JavaScript -> Dom -> JavaScipt) BlueIce Events/DOM/Window 10 17.02.2010 21:58
мааленький вопрос по Regexp:) mirniy Общие вопросы Javascript 1 22.01.2009 20:47
IE7 window.open vzzvzz Общие вопросы Javascript 2 29.05.2008 09:20
вопрос по long poll megaswin AJAX и COMET 2 27.05.2008 09:20