Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.04.2014, 19:29
Профессор
Отправить личное сообщение для cript Посмотреть профиль Найти все сообщения от cript
 
Регистрация: 03.02.2014
Сообщений: 238

Если не вызвана функция..
Приветствую!
По клику совершается функция, например
<a href="#" onclick="javascript:gofunction();">Click</a>
Подскажите как задать примерно такое условие:
Если функция не вызвана, то совершается действие..
Ответить с цитированием
  #2 (permalink)  
Старый 15.04.2014, 19:55
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Функция gofunction должна записывать в переменную, что выполнилась, и, если этой отметки нет - совершать действие.
Ответить с цитированием
  #3 (permalink)  
Старый 15.04.2014, 20:25
Профессор
Отправить личное сообщение для cript Посмотреть профиль Найти все сообщения от cript
 
Регистрация: 03.02.2014
Сообщений: 238

Как то так?
<script>
function gofunction() {
var abc = '1';
}
if(!abc) {
alert('22');
}
if(abc != '') {
alert('OK');
}
</script>
<a href="#" onclick="javascript:gofunction();">Click</a>

Последний раз редактировалось cript, 15.04.2014 в 20:40.
Ответить с цитированием
  #4 (permalink)  
Старый 15.04.2014, 20:36
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Сообщение от cript
Как то так?
Очевидно же, что нет! Или то, что валится с ошибкой, не смущает? Оператор var делает переменную локально, её не видно вне gofunction.
Ответить с цитированием
  #5 (permalink)  
Старый 15.04.2014, 20:40
Профессор
Отправить личное сообщение для cript Посмотреть профиль Найти все сообщения от cript
 
Регистрация: 03.02.2014
Сообщений: 238

Без var тоже не срабатывает
Ответить с цитированием
  #6 (permalink)  
Старый 15.04.2014, 20:52
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

А с чего бы должно работать? Глобальные переменные в JS объявляются так:
window.somevariable = "somecontent"

Это во-первых. Во-вторых - зачем "javascript:" в обработчике? Пиши просто вызов функции.

Но я бы делал в функции return false в случае неуспешного выполнения, а в обработчике onclick соответствующую проверку. То есть,

<script>
function myFunc()
{
  if (1 > 5)
    return false;
  else
    return true;
}
</script>
<a href="#" onclick="if (myFunc()) {alert('Функция выполнена успешно');} else {alert('Что-то не так...');}">Ссылка</a>
Ответить с цитированием
  #7 (permalink)  
Старый 15.04.2014, 21:12
Профессор
Отправить личное сообщение для cript Посмотреть профиль Найти все сообщения от cript
 
Регистрация: 03.02.2014
Сообщений: 238

Erolast,
Благодарю за ответ, но это все не то..
Понимаете, мне нужно начать выполнение другой функции, при условии, что предыдущая функция не была вызвана, то есть на ссылку не нажимали, значит совершаем действие..
Сообщение от Erolast
window.somevariable = "somecontent"
не срабатывает..
Ответить с цитированием
  #8 (permalink)  
Старый 15.04.2014, 21:16
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Сообщение от cript
По клику совершается функция
Сообщение от cript
Если функция не вызвана, то совершается действие
А как это может быть? Если по клику совершается функция, значит она вызвана же. Нет?
Ответить с цитированием
  #9 (permalink)  
Старый 15.04.2014, 21:20
Профессор
Отправить личное сообщение для cript Посмотреть профиль Найти все сообщения от cript
 
Регистрация: 03.02.2014
Сообщений: 238

Сообщение от BETEPAH
Если по клику совершается функция, значит она вызвана же
Все верно
Ответить с цитированием
  #10 (permalink)  
Старый 15.04.2014, 23:03
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Ну, так что проверять-то? Если функция совершается, она вызвана. Если она не вызвана, то не совершается и ничего она сделать не может.
Или нужна проверка, что функция вызвана именно кликом по этой кнопке/ссылке? Ну поставьте в вызов в кнопке флаг и проверяйте его в функции.
<a href="#" onclick="javascript:gofunction(true);">Click</a>
<script>
function gofunction(flag) {
if (flag) //функция запущена кнопкой

Если нужна еще и защита от читеров, можно поставить в вызов this и проверять его...
В общем, не очень понятна суть задачи.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция с предустановленным значением KupueIIIKo Общие вопросы Javascript 15 23.01.2013 16:36
Как оборвать на сервере и клиенте запрос если у клиента пропала сеть. beard AJAX и COMET 3 21.12.2012 16:35
Не выполняется функция, если ранее выполнена другая zevilz Events/DOM/Window 2 27.10.2012 09:03
Условие: если функция выполняется raler jQuery 5 21.04.2011 00:06
iframe | закрыть если... Geek Events/DOM/Window 5 30.09.2008 16:23