Событие onclick в Javascript вызывает перезагрузку страницы в ie-8, но не в firefox, safari, chrome и opera? - PullRequest
2 голосов
/ 26 апреля 2010

У меня есть событие onclick, прикрепленное к кнопке. Нажатие на кнопку добавляет текстовое поле к целевому элементу.

код: onclick = "return addBlank (" param1 "," param2 "); Функция addBlank не имеет оператора возврата.

Нажатие на кнопку ведет себя так, как задумано в Firefox, Opera, Chrome и Safari - т. Е. Пустое текстовое поле добавляется в целевой div и страница не перезагружается.

Нажатие на кнопку в ie8 вызывает перезагрузку страницы и ничего не добавляет к целевому элементу div.

Есть ли здесь несовместимость при нажатии, которую я здесь упускаю?

Спасибо, я ценю, что вы нашли время, чтобы прочитать это сомнение!

Ответы [ 2 ]

3 голосов
/ 26 апреля 2010

Почему бы не добавить

return false;

до конца функции тогда? Это должно предотвратить что-либо, происходящее в результате события onclick.

2 голосов
/ 26 апреля 2010

IE рассматривает кнопку как актера отправки (т. Е. Щелчок по ней отправляет форму)

Для предотвращения этого обработчику кликов необходимо return false;.

function addBlank( p1, p2 )
{
  // stuff
  return false;
}
...