1

我已经通过 jQuery 加载了一个表单。结果$(document).ready(function(),应用于它的那个不再起作用。我们如何在表单加载后重新建立表单的功能。

内容加载到:

$('.section.com').load(window.location.href + ' .section.com .tubs')

因此,这不再起作用:

$('#commentform').ajaxForm(function () {
    $('.commentslogic').load('<?php the_permalink();?> .commentslogic .inner', function () {
        $('.commentlist li:first').hide();
        $('.commentlist li:first').slideDown(400);
        $('.commentlist li:first').effect('highlight', {}, 800);
        $('#cloader').slideUp(400);
    })
});
4

2 回答 2

0

将其放入.load的回调中,以便将其重新应用于替换的元素:

$('.section.com').load(window.location.href + ' .section.com .tubs', function() {
    $('#commentform').ajaxForm(function() { 

        // rest of code
    });
});
于 2011-12-20T12:48:23.970 回答
0

将表单绑定放在一个函数中,以便您可以重用它:

function bindForm() {
  $('#commentform').ajaxForm(function() { 
    $('.commentslogic').load('<?php the_permalink();?> .commentslogic .inner', function(){
      $('.commentlist li:first').hide(); $('.commentlist li:first').slideDown(400); $('.commentlist li:first').effect('highlight', {}, 800); $('#cloader').slideUp(400);
    })
  });
}

现在您可以从ready事件中调用它,也可以在load绑定新表单的方法中调用它:

$('.section.com').load(window.location.href + ' .section.com .tubs', bindForm)
于 2011-12-20T12:49:20.147 回答