Если не вызвана функция..
Приветствую!
По клику совершается функция, например <a href="#" onclick="javascript:gofunction();">Click</a> Подскажите как задать примерно такое условие: Если функция не вызвана, то совершается действие.. |
Функция gofunction должна записывать в переменную, что выполнилась, и, если этой отметки нет - совершать действие.
|
Как то так?
<script> function gofunction() { var abc = '1'; } if(!abc) { alert('22'); } if(abc != '') { alert('OK'); } </script> <a href="#" onclick="javascript:gofunction();">Click</a> |
Цитата:
|
Без var тоже не срабатывает
|
А с чего бы должно работать? Глобальные переменные в 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> |
Erolast,
Благодарю за ответ, но это все не то.. Понимаете, мне нужно начать выполнение другой функции, при условии, что предыдущая функция не была вызвана, то есть на ссылку не нажимали, значит совершаем действие.. Цитата:
|
Цитата:
Цитата:
|
Цитата:
|
Ну, так что проверять-то? Если функция совершается, она вызвана. Если она не вызвана, то не совершается и ничего она сделать не может.
Или нужна проверка, что функция вызвана именно кликом по этой кнопке/ссылке? Ну поставьте в вызов в кнопке флаг и проверяйте его в функции. <a href="#" onclick="javascript:gofunction(true);">Click</a> <script> function gofunction(flag) { if (flag) //функция запущена кнопкой Если нужна еще и защита от читеров, можно поставить в вызов this и проверять его... В общем, не очень понятна суть задачи. |
Цитата:
Переменная как свойство глобального объекта - это один из способов. Можно ещё без var объявить переменную или с var в глобальном окружении. Причём есть разница: x = null; var y = null; delete x; // удалит delete y; // не удалит alert(["x" in this, "y" in this]);Так-то! |
Цитата:
function blur() { $(window).blur(function() { alert('!!!'); }); } ... blur(); Вышеуказанная функция выводит сообщение, если пользователь пытается уйти со страницы. Нужно сделать так, чтобы при нажатии на определенную ссылку данная функция не вызывалась.. Если есть какие то предложения буду очень благодарен. |
Цитата:
Цитата:
|
С флагом что-то не выходит..
мне нужно что то вроде этого // Если ссылку не нажимали, то все остальное.. { function blur() { $(window).blur(function() { alert('!!!'); }); } ... blur(); Пробовал делать так, но видимо не то.. if(typeof gofunction !== 'function') |
Пример вызова функции с различными параметрами
<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> |
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> |
Цитата:
<!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> |
Цитата:
Цитата:
|
jsnb,
Это то что нужно, спасибо тебе огромное! |
Часовой пояс GMT +3, время: 11:43. |