Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Если не вызвана функция.. (https://javascript.ru/forum/events/46582-esli-ne-vyzvana-funkciya.html)

Sweet 15.04.2014 23:18

Цитата:

Сообщение от Erolast
Глобальные переменные в JS объявляются так:
window.somevariable = "somecontent"

Очень интересная версия. Только window - это ссылка на глобальный объект в браузерном js. Например, в ноде window нет. Так что же, там нельзя объявить глобальную переменную?
Переменная как свойство глобального объекта - это один из способов. Можно ещё без var объявить переменную или с var в глобальном окружении. Причём есть разница:
x = null;
var y = null;

delete x; // удалит
delete y; // не удалит

alert(["x" in this, "y" in this]);
Так-то!

cript 15.04.2014 23:26

Цитата:

Сообщение от BETEPAH
не очень понятна суть задачи.

Суть задачи такова. Совершаю действие, если конкретнее, то
function blur() {
$(window).blur(function() {
alert('!!!');
});
}
...
blur();

Вышеуказанная функция выводит сообщение, если пользователь пытается уйти со страницы. Нужно сделать так, чтобы при нажатии на определенную ссылку данная функция не вызывалась.. Если есть какие то предложения буду очень благодарен.

BETEPAH 16.04.2014 01:30

Цитата:

Сообщение от cript
Если есть какие то предложения буду очень благодарен

ну вон же
Цитата:

Сообщение от BETEPAH
Или нужна проверка, что функция вызвана именно кликом по этой кнопке/ссылке? Ну поставьте в вызов в кнопке флаг и проверяйте его в функции.


cript 16.04.2014 02:35

С флагом что-то не выходит..
мне нужно что то вроде этого
// Если ссылку не нажимали, то все остальное.. 
{
function blur() {
$(window).blur(function() {
alert('!!!');
});
}
...
blur();

Пробовал делать так, но видимо не то..
if(typeof gofunction !== 'function')

Vlasenko Fedor 16.04.2014 03:12

Пример вызова функции с различными параметрами
<a href="#" onclick="testme(1);">MyLink</a>
    <input type="button" value="Test" onclick="alert(testme());">
    <script>
      var testme = function(el) {
        if (el !== 1) return 5;// true;
          alert("Work");
          return false;
        }
    </script>

cript 16.04.2014 03:19

Poznakomlus,
Делаю примерно так же , но не срабатывает..
<script>
var go = function(el) {
if(el !== 1) {
function blur() {
$(window).blur(function() {
alert('!!!');
})
});
}
}
}
</script>
<a href="#" onclick="javascript:go(1);" target="blank">Click</a>

jsnb 16.04.2014 05:18

Цитата:

Сообщение от cript (Сообщение 307895)
С флагом что-то не выходит..

<!DOCTYPE HTML>
<html>
  <head>
  <meta charset="utf-8">
  <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
  </head>
  <body>
  
<script>
var aClick = false;

$(window).blur(function() {
  if (aClick) {
    aClick = false;
    return false;
  }
  alert('!!');
});

</script>

<a href="http://ya.ru" onclick="aClick = true;" target="blank">Click</a>

  </body>
</html>

Erolast 16.04.2014 10:49

Цитата:

Очень интересная версия. Только window - это ссылка на глобальный объект в браузерном js. Например, в ноде window нет. Так что же, там нельзя объявить глобальную переменную?
Не занудствуй. Я прекрасно об этом знаю :) Просто данная формулировка наиболее понятна.
Цитата:

Можно ещё без var объявить переменную
Что не очень хорошо. Верней, совсем не хорошо. Во-первых, это создает путаницу, во-вторых - могут возникнуть непонятные баги.

cript 16.04.2014 16:54

jsnb,
Это то что нужно, спасибо тебе огромное!


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