2013-09-17 3 views
0

У меня есть блок (div), где я использую для размещения информации. У меня есть скрытая форма? и он отображается по щелчку. Но если я перезагружу данные в блоке (div), он работает как ссылка.Как заставить JQuery работать после перезагрузки?

Это мой сценарий:

var comment_block ; 
var show_comment_block; 
var show; 
$(function(){ 
    $('A.reply').on('click',ShowCommentBlock); 
}); 

function ShowCommentBlock(){ 
    $(this).parent().next('.answer-form').slideToggle('slow'); 
    return false; 
} 

И это код на моей кнопке:

<a class="reply" href="#comment<?php echo $comment['comment_id']?>">Ответить</a> 

Как я понимаю, после того, как контент перезагрузки в блоке (дела) я должен поместить эти действия на новые формы? Я не понимаю, как это сделать? или, может быть, есть какое-то другое решение. Спасибо.

+0

Опубликовать скрипку, чтобы помочь ур причине ... Я не понимаю, в чем проблема. – codebreaker

+0

Я не понимаю, в чем проблема. –

+1

Вы должны использовать делегирование, например: '$ (document.body) .on ('click', 'A.reply', ShowCommentBlock);' –

ответ

1

Вы должны использовать делегирование, например:

$(document.body).on('click','A.reply', ShowCommentBlock); 

A. Wolff

Thank U!

-1

Может быть, изменить его на:

$('A.reply').live("click", ShowCommentBlock); 
+6

Жить не рекомендуется. – devo

+1

live удаляется из последней библиотеки jquery и .on предлагает для делегирования события. – Jai

+0

Я думаю, мы могли бы сказать, что «жить» должно умереть: D Да, делегат - это путь, и было бы лучше установить его не по всему телу или документу, а по родительскому элементу элемента a.reply. – JustAMartin

Смежные вопросы