Почему событие срабатывает один раз?
Здравствуйте. Суть такая, кликаем по картинке, которая сгенерирована при помощи библиотеки GD2, на изображении надпись, надпись зависит от кода который передаем в скрипт.
После клика вызываем следующую функцию: Данная функция делает запрос на генерацию нового ключа, от которого как раз зависит картинка.
$(document).ready(function() {
$('#new_code').click(new_code);
function new_code()
{
alert(1);
//Получить новый код из php скрипта
$.ajax({
url: "gen_pass_ajax.php",
global: false,
type: "POST",
beforeSend: function(){
//тут можно что-нибудь показать пока идет обмен информацией
return true;
},
dataType: "json",
success: function (data)
{
if(data.success == true)
{
$('#code_div').html("<img title='БРРРРРРР' border='0' src='generate_pic_class.php?code="+data.result+"' align='absmiddle' id = 'new_code'></img>").fadeIn();
return true;
}
}
});
}
});
В случае успеха изменяем содержимое div в котором расположена картинка, то есть саму картинку. alert(1) поставил специально посмотреть когда срабатывает событие. Первый раз функция отрабатывает отлично, но при втором нажатии ничего не происходит alert(1) не срабатывает, в чем может быть проблема? И еще вопрос как сделать так чтобы ограничить пользователя в нажатии на изображение, то есть не более 5 раз например! Просто завести глобальный счетчик? |
вы удаляете старую картинку, и делаете новую
с чего бы срабатывать событию, которое было повешено на уже несуществующий элемент, при клике на новый элемент? |
почитал документацию и пришел к этой функции:
$("#new_code").live("click", new_code);
Все хорошо работает! Сразу еще вопрос в до гонку, еще в форме есть input type = 'hidden', как заменить его значение value. Извините за банальные вопросы я просто совсем новичек :) Учусь только :) |
элемент.value = "42"
Если в jQ:
$("input[name=моёкакоетоимяэлемента]", элемент_form).val("новое значение")
|
Цитата:
этот метод отслеживает все происходящие события на странице, и обрабатывает их. это коненчо не mousemove, где можно просто захлебнутся, но все же это лишнее вешайте обработчик события на новосозданный элемент |
Всем большое спасибо!
|
Gvozd, с 1.4. Уже не на странице, а в контексте. Но нагрузка все есть, конечно же.
|
| Часовой пояс GMT +3, время: 04:48. |