由于AJAX延迟,jQuery元素设置为hidden,而不是catching with是可见的
我正在使用以下代码监视两个选择菜单上的更改事件。根据所做的选择确定是否显示第三个元素 因为.single_variation_wrap'的文本首先用AJAX更新,然后它的显示被切换,如果我不等待一秒钟,.single_variation_wrap`的可见性在正确的时间被捕获 因此,我设置了一个延迟,让AJAX触发并更新文本,然后在所有条件触发完成并查看元素是否隐藏或可见时,切换元素显示 是否有jQuery方法来监控AJAX,以便更快地完成?在Network-XHR下的开发工具中没有显示任何内容由于AJAX延迟,jQuery元素设置为hidden,而不是catching with是可见的,jquery,ajax,woocommerce,Jquery,Ajax,Woocommerce,我正在使用以下代码监视两个选择菜单上的更改事件。根据所做的选择确定是否显示第三个元素 因为.single_variation_wrap'的文本首先用AJAX更新,然后它的显示被切换,如果我不等待一秒钟,.single_variation_wrap`的可见性在正确的时间被捕获 因此,我设置了一个延迟,让AJAX触发并更新文本,然后在所有条件触发完成并查看元素是否隐藏或可见时,切换元素显示 是否有jQuery方法来监控AJAX,以便更快地完成?在Network-XHR下的开发工具中没有显示任何内容
$("#interface, #pa_input-current").change(function() {
var wto;
wto = setTimeout(function() {
if ($(".single_variation_wrap").is(":visible")) {
alert('visible');
}
else {
alert('hidden');
}
}, 1000);
});
您可以使用success函数来实现这一点 正在使用的成功函数示例:
$("button").click(function(){
$.ajax({url: "demo_test.txt", success: function(result){
if ($(".single_variation_wrap").is(":visible")) {
alert('visible');
} else {
alert('hidden');
}
}});
});
你能不能给AJAX添加一个success,然后毫不拖延地把代码放在那里?@jonmrich我想搜索AJAX函数并使用success事件,但这可能意味着修改核心代码。我希望在ajax完成后,会有另一种方法开始检查可见性