如何从 jquery 中的文档就绪状态调用 ajaxComplete 内的函数?
2018-07-27
461
我想从文档就绪中执行
.ajaxComplete()
内的函数。
$(function() {
$(document).on('click', '.woof_radio_label', function(e) {
if($(this).siblings('.woof_radio_term').is(':checked')) {
$('.page-secondary-content').removeClass('open');
$('.page-primary-content').removeClass('close');
$(this).siblings('.woof_radio_term_reset').click();
refineUrl();
} else {
$('.page-primary-content').addClass('close');
$('.page-secondary-content, .bottom-content').addClass('open');
}
});
});
$(document).ajaxComplete(function() {
function refineUrl() {
console.log('it works');
}
});
我收到以下错误提示:
Uncaught ReferenceError: refineUrl is not defined at HTMLLabelElement. (scripts-custom.js?ver=4.9.7:15) at HTMLDocument.dispatch (jquery.js?ver=1.12.4:3) at HTMLDocument.r.handle (jquery.js?ver=1.12.4:3)
当我单击类 woof_radio_label 时,它将触发一个 ajax 事件(产品过滤器),我想在 ajaxComplete() 上调用一个函数。
你知道怎么做吗?
2个回答
您应该全局声明函数
refineUrl()
,然后可以从任何地方调用它。从
ajaxComplete
和
document.ready
也可以。
例如:
$(function () {
$(document).on('click', '.woof_radio_label', function (e) {
if ($(this).siblings('.woof_radio_term').is(':checked')) {
$('.page-secondary-content').removeClass('open');
$('.page-primary-content').removeClass('close');
$(this).siblings('.woof_radio_term_reset').click();
refineUrl();
} else {
$('.page-primary-content').addClass('close');
$('.page-secondary-content, .bottom-content').addClass('open');
}
});
});
$(document).ajaxComplete(function () {
//DO another stuff
});
function refineUrl() {
console.log('it works');
}
Lovepreet Singh
2018-07-27
在脚本顶部声明
refineUrl()
以防止出现此类错误,
function refineUrl() {
console.log('it works');
}
$(function(){
.....
});
$(document).ajaxComplete(function() {
refineUrl();
});
Rohan Kumar
2018-07-27