如何在 Ajax() 响应中执行 JavaScript 函数
How to execute JavaScript function in an Ajax() Response
我有一个主页可以加载 ajax() 响应并将其 post 作为 LI 内容加载到 UL,在同一页面上我有脚本函数可以 select LI 满足另一个功能的触发器,但不工作。
第 1 页
HTML
<ul id="feature-deals" class="list-products allShopping-deals">
</ul>
脚本
$(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>
page 1 == home page w/(ajax() load function + click function) ----> page 2 == li content holding pid and waiting to load by ajax () ----> 目标输出是提醒 pid 值但脚本在第 1 页
你应该delegate事件:
$(".allShopping-deals").on('click', '.products', function(){
alert($(this).find('.pid').text());
});
您遇到了时间问题。 ajax 调用已执行,但分配点击事件的语句不会等待结果并执行。 ajax 调用是异步的。
将点击事件的分配放在 ajax 调用的成功处理程序中。
success: function(result){
$(".allShopping-deals").html(result);
$(".products").click(function (){
alert($(this).find('.pid').text());
}
}
我有一个主页可以加载 ajax() 响应并将其 post 作为 LI 内容加载到 UL,在同一页面上我有脚本函数可以 select LI 满足另一个功能的触发器,但不工作。
第 1 页
HTML
<ul id="feature-deals" class="list-products allShopping-deals">
</ul>
脚本
$(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>
page 1 == home page w/(ajax() load function + click function) ----> page 2 == li content holding pid and waiting to load by ajax () ----> 目标输出是提醒 pid 值但脚本在第 1 页
你应该delegate事件:
$(".allShopping-deals").on('click', '.products', function(){
alert($(this).find('.pid').text());
});
您遇到了时间问题。 ajax 调用已执行,但分配点击事件的语句不会等待结果并执行。 ajax 调用是异步的。
将点击事件的分配放在 ajax 调用的成功处理程序中。
success: function(result){
$(".allShopping-deals").html(result);
$(".products").click(function (){
alert($(this).find('.pid').text());
}
}