Jquery 获取错误回调不是一种条件下的函数
我有两个这样的函数Jquery 获取错误回调不是一种条件下的函数,jquery,callback,Jquery,Callback,我有两个这样的函数 $("body").on("click", "#btnEdit", function (e) { TransactionId = $(this).closest("div").find('#SearchItemID').text(); EditorDuplicate(TransactionId); }); $("body").on("click", "#btnDuplicate", function (e) { TransactionId = $(
$("body").on("click", "#btnEdit", function (e) {
TransactionId = $(this).closest("div").find('#SearchItemID').text();
EditorDuplicate(TransactionId);
});
$("body").on("click", "#btnDuplicate", function (e) {
TransactionId = $(this).closest("div").find('#SearchItemID').text();
EditorDuplicate(TransactionId);
GetnextItemCode();
})
正如您在我的第一个函数中所看到的,我只调用了EditorDuplicate
函数,但在第二个函数中,我在执行first complete之后调用了另一个函数
但是为了在EditorDuplicate
函数之后加载GetnextItemCode
函数,我添加了回调函数。现在看起来是这样的:
$("body").on("click", "#btnTransactionEdit", function (e) {
TransactionId = $(this).closest("div").find('#SearchItemID').text();
EditorDuplicate(TransactionId);
});
$("body").on("click", "#btnDuplicate", function (e) {
TransactionId = $(this).closest("div").find('#SearchItemID').text();
EditorDuplicate(TransactionId, function () {
GetnextItemCode();
});
//EditorDuplicate(TransactionId);
//GetnextItemCode();
})
EditorDuplicate功能:
function EditorDuplicate(TransactionId, callback) {
// other codes
callback();
}
function EditorDuplicate(TransactionId, callback) {
// your code
if (typeof callback === 'function') {
callback();
}
}
现在单击#btndupplicate
效果很好,但是当单击#btnEdit
时,我得到了错误
未捕获类型错误:回调不是函数
为什么呢?我该如何纠正这一点
注意:
并且函数仍然没有一个接一个地运行,GetnextItemCode
在另一个完成之前执行EditorDuplicate
函数有几行代码,其中GetnextItemCode
函数只有几行
请查看代码段中的错误
//编辑按钮
$(“body”)。在(“click”、“#btnEdit”,函数(){
var TransactionId=$('#SearchItemID').text();
编辑副本(事务ID);
});
//复制按钮
$(“body”)。在(“单击”,“复制”,函数(){
var TransactionId=$('#SearchItemID').text();
EditorDuplicate(TransactionId,函数(){
GetnextItemCode();
});
});
函数EditorDuplicate(TransactionId,回调){
警报(“编辑副本”);
//其他代码
回调();
}
函数GetnextItemCode(){
警报(“GetnextItemCode”)
}
搜索Id:
2
在函数中,首先需要检查回调
是否实际上是一个函数:
function EditorDuplicate(TransactionId, callback) {
// other codes
callback();
}
function EditorDuplicate(TransactionId, callback) {
// your code
if (typeof callback === 'function') {
callback();
}
}
这是因为回调
在未在此调用中传递时变为未定义
:
EditorDuplicate(TransactionId);
试图调用未定义的将抛出一个错误。函数EditorDuplicate(TransactionId,callback){
//你的代码
if (callback) {
callback();
}
}您可以向我们展示您的HTML代码,或者最好使用SO为我们提供一个示例输出snippet@alimbaronia请查看添加的代码段