问题绑定功能

时间:2011-02-25 20:12:58

标签: jquery bind

我将另一页的一部分调到父页面中,如下所示:

$(function() {
    $("#subscribe").click(function () {
        $("#singleContent").load('purchaseForm.php #Content');
    });
});
那边没问题。我在“purchaseForm.php”中运行函数时遇到问题。我已经尝试了“.live”功能,但只能将其绑定到像click这样的事件。我需要隐藏一些东西并运行此代码:

$('[class^=toggle-item]').hide();
$('[class^=link]').live('click', function(e) {
    $('.toggle-item-' + this.className).slideToggle("fast");
    $('span',this).text(function(i,txt) {
        return txt === "Learn More..." ? "Close" : "Learn More...";
        e.preventDefault();
    });
});

$(function() {
    var $add = $('input.add');
    $add.live('click', function() {
        $add.removeAttr('checked');
        $(this).attr('checked', true);
    });
});

如何将上述函数绑定到.load函数?

2 个答案:

答案 0 :(得分:2)

你可以这样做:

$(function() {
    $("#subscribe").click(function () {
        $("#singleContent").load('purchaseForm.php #Content', function()
        {
            $('[class^=toggle-item]').hide();
            $('[class^=link]').live('click', function(e) {
                $('.toggle-item-' + this.className).slideToggle("fast");
                $('span',this).text(function(i,txt) {
                    return txt === "Learn More..." ? "Close" : "Learn More...";
                    e.preventDefault();
                });
            });

            $(function() {
               var $add = $('input.add');
               $add.live('click', function() {
                   $add.removeAttr('checked');
                   $(this).attr('checked', true);
               });
            });
        });
    });
});

答案 1 :(得分:1)

这是我刚才报道的一个jQuery错误。据我所知,它还没有修复。

我会找到错误并将其链接起来。具体来说,当您使用带有“上下文”的“.load()”(URL后面的选择器)时,它不会在加载的内容中运行<script>标记。

编辑 - 确定here是错误。

要使您的设置正常工作,最好的办法是在周围的页面中加载内容。