通过ajax加载的Html不适用于jQuery事件

时间:2013-04-18 16:09:57

标签: ajax html5 jquery

我将此代码放在一个名为checkout.tpl的文件中,也有一个Javascript代码,我将在下面发表评论:

$.ajax({
    url: 'index.php?route=checkout/payment_address',
    dataType: 'html',
    success: function(html) {
        $("#checkout").hide();
        $('#payment-address .checkout-content').html(html);
    },
    error: function(xhr, ajaxOptions, thrownError) {
        alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    }
});

正如您在此处所见,我使用AJAX加载了一些HTML内容。这是HTML content我正在加载。请注意输入 id = button-payment-address 。所以在checkout.tpl中我有这个jQuery代码:

$('#button-payment-address').on('click',function() {
    alert("Click");
    // here goes some code   
});

当我点击 id = button-payment-address 的输入时,会出现带有“Click”的提示吗?好不显示,代码永远不会执行,没有错误触发,所以我不知道什么是错的。我用其他代码测试并得到相同的结果:

$('#button-payment-address').click(function() {
    alert("Click");
    // here goes some code   
});

// This seems to be not working with latest jQuery and generates a error
$('#button-payment-address').live('click', function() {
    alert("Click");
    // here goes some code   
});

任何帮助?

1 个答案:

答案 0 :(得分:5)

试试这个

$('#payment-address').on('click','#button-payment-address',function() {
    alert("Click");
    // here goes some code   
});