JQuery нажмите вопрос - PullRequest
       12

JQuery нажмите вопрос

1 голос
/ 07 декабря 2009

У меня есть проблема.

код такой:

$("#button").click(function(event){
   $("#threads").html("hi");
});

когда я нажимаю кнопку, текст "привет" просто отображается в течение 1 секунды. тогда это исчезнет. Я хочу, чтобы он всегда отображался после нажатия. как я могу это сделать?

Ответы [ 3 ]

29 голосов
/ 07 декабря 2009

Попробуйте это:

$("#button").click(function(event){
   event.preventDefault();
   $("#threads").html("hi");
});

Мне кажется, кнопка является тегом [href] или в форме, которая вызывает обновление страницы.

4 голосов
/ 07 декабря 2009

Проблема может заключаться в том, что ваша кнопка находится внутри формы без каких-либо действий, таким образом отправляя форму обратно на страницу - и отменяя ваши изменения. Или, что button является ссылкой с пустым href.

Добавьте return false; в конец функции щелчка, чтобы остановить действие по умолчанию.

0 голосов
/ 07 декабря 2009

Ваша проблема в том, что у вас есть тайм-аут или интервал, который выполняется каждые 1000 миллисекунд, очищая HTML от #threads. Либо он работает как тайм-аут (setTimeout) из другого $("#button").click(), либо как интервал (setInterval), определенный где-то еще. Я просто предполагаю 1000 миллисекунд, потому что вы сказали 1 секунду, и я не знаю, хотите ли вы на мгновение вместо этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...