Почему событие срабатывает один раз?
Здравствуйте. Суть такая, кликаем по картинке, которая сгенерирована при помощи библиотеки 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, время: 15:00. |