如何在Ajax()响应中执行JavaScript函数

时间:2015-06-14 15:25:58

标签: javascript jquery ajax function eval

我有一个加载ajax()响应的主页并将其作为LI内容发布到UL,同一页面我有脚本函数,可以选择带有另一个函数触发器的LI内容,但是不起作用。

第1页

HTML

<ul id="feature-deals" class="list-products allShopping-deals">         
</ul>

SCRIPT

$(document).ready(function(){
    $.ajax({
        url: "Product/Shopping-Trending-Items.php", 
        success: function(result){
            $(".allShopping-deals").html(result);
        }
    });

$(".products").click(function (){   
        alert ($('.pid', this).text());

第2页

HTML

  <li class="products">
<span class="pid">1234</span>
</li>

第1页==主页w /(ajax()加载功能+点击功能)----&gt;第2页== Li内容持有pid并等待加载ajax()----&gt;目标输出是警告pid值,但脚本在第1页

2 个答案:

答案 0 :(得分:3)

你应该delegate事件:

$(".allShopping-deals").on('click', '.products', function(){
    alert($(this).find('.pid').text());
});

答案 1 :(得分:1)

你有时间问题。进行了ajax调用,但是分配click事件的语句不会等待结果并执行。 ajax调用是异步的。

将click事件的分配放在ajax调用的成功处理程序中。

success: function(result){
            $(".allShopping-deals").html(result);
            $(".products").click(function (){   
                alert($(this).find('.pid').text());
            }
        }