Вы должны сделать свою функцию анонимной (безымянной) функцией в последней строке.
Ваш код
jQuery(".the_btn")
.on(
"click",
createCookie("_my_domain_", this_cookies_value, 1)
);
Правильный код
jQuery(".the_btn")
.on(
"click",
function() {
createCookie("_my_domain_", this_cookies_value, 1)
}
);
Когда вашкод читается браузером, он видит createCookie()
как вызов функции, необходимый для немедленного запуска.Если вы поместите ее в анонимную функцию, то она не будет вызываться, скорее будет создана другая функция, которая будет вызываться позже событием click
.
Учитывая, что вы используете jQuery, я предполагаю, что вынужна полная поддержка браузера, и IE пока не поддерживает функции "толстая стрелка" ;однако, если вам не нужна поддержка IE, вы можете использовать следующий код:
jQuery(".the_btn")
.on(
"click",
() => createCookie("_my_domain_", this_cookies_value, 1)
);
Демо
https://jsfiddle.net/AnonymousSB/Lyn58bax/2/