Вызов функции только один раз jquery

500
18 мая 2017, 11:26

Есть функция jQuery, при вводе текста цели передаются в метрику и аналитикс:

$('input').keyup(function(){
        yaCounterXXXXX.reachGoal('namepage');
        ga('send', 'pageview', 'namepage');
    });

Проблема в том, что keyup работает на каждый введенный символ. Подскажите, как сделать так, чтобы вызов был лишь единожды? Сработает ли такой вариант:

var count_keyup = 0;
$('input').keyup(function(){
    count_keyup++;
    if (count_keyup == 0) {
    yaCounterXXXXX.reachGoal('namepage');
    ga('send', 'pageview', 'namepage');
        }            
});

Заранее спасибо!

Answer 1

Попробуй вместо keyup использовать change

Если не нужна вставка через контекстное меню

 $(document).ready(function(){
    $("#textInp").bind({
        copy : function(){
        $('#msg').text('Вы скопировали текст!');
    },
    paste : function(){
        $('#msg').text('Вы вставили текст!');
    },
    cut : function(){
        $('#msg').text('Вы вырезали текст!');
    }
});

});

Вот ссылка откуда взят пример : http://yournet.kz/blog/js/opredelyaem-kopirovanie-vyrezku-vstavku-teksta-v-jquery

Answer 2

Для одноразового вызова события можно использовать метод one

$('input').one("keyup", function(e){
    yaCounterXXXXX.reachGoal('namepage');
    ga('send', 'pageview', 'namepage');
});
READ ALSO
Способ укоротить условие WHERE в sql-запросе

Способ укоротить условие WHERE в sql-запросе

Например, есть запрос, в котором я хочу наложить условие, чтобы он мне выдал только те строки, где value > 500:

207
MySQL запрос состоящий из четырех таблиц

MySQL запрос состоящий из четырех таблиц

1) Напишите запрос, который выводит имена всех учеников, сдавших экзамен по математике у профессора Иванова на оценку 4 или 52) Напишите запрос,...

230
SQL запрос UPDATE с группировкой

SQL запрос UPDATE с группировкой

Есть таблица, в которой дублируются REF_DOC_ID

225
Как выбрать систему хранения данных innodb?

Как выбрать систему хранения данных innodb?

На одном хостинге, при создании таблиц в базе данных, по умолчанию создаются таблицы myisamИ дело в том, что это нигде нельзя выбрать, чтобы по умолчанию...

197