Onclick уволен без нажатия - PullRequest
       2

Onclick уволен без нажатия

6 голосов
/ 21 апреля 2011

en.onclick = setCookie('english');

Почему это срабатывает, даже не нажимая на него?

У меня есть 3 флага, которые должны устанавливать cookie на их язык при нажатии споследний всегда увольняется сразу ...

Ответы [ 4 ]

19 голосов
/ 21 апреля 2011

Ваш код выше оценивает setCookie('english') и помещает возвращаемое значение (если оно есть) в en.onclick.Чтобы назначить его в качестве обработчика события, оберните его в функцию:

en.onclick = function(){
   setCookie('english');
};
5 голосов
/ 21 апреля 2011

потому что вы должны использовать что-то подобное

en.onclick=function(){
  setCookie('english');
}
3 голосов
/ 21 апреля 2011

Потому что вы вызываете метод setCookie(...). Попробуйте это:

en.onclick = setCookie;

С помощью скобок вы вызываете метод; без того, чтобы передать его как объект.

Или попробуйте это:

en.onclick = function() { setCookie('english') };

Здесь мы создаем новую функцию, которая вызывает setCookie с соответствующим аргументом.

2 голосов
/ 21 апреля 2011

Ну, это потому, что вы запускаете метод и присваиваете результат en.onclick.

Что вы, вероятно, хотите сделать с нами

en.onclick = function(){setCookie('english');};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...