执行得太快了。我想在开始之前留出时间在键盘上打字。
"use strict";
let CustomerOptions = {
itemInputId: 'txtSearch',
url: 'api/Customers?contains=',
size: 6,
incrementalSearch: true,
focusElementAfterSearch: 'listviewDNB_Mem_ITEM_0',
onItemListBlur: function (text, value) {
let targetValueElement =
document.getElementById('hiddenCustomerNumber');
targetValueElement.value = value;
},
onItemListDisplay: function (text, value) {
return value;
}
}
ms.dom.documentReady(
setTimeout(function () {
new ms.AutoComplete(CustomerOptions);
}, 30000)
);
答案 0 :(得分:0)
TL; DR; - 在documentReady()之前执行setTimeout()。
documentReady看起来像一个事件 - 事件通常会收到一个回调函数。但你正在做的是将setTimeout的结果作为参数传递给documentReady()。
实际上,您的代码的工作方式如下:
var to = setTimeout(function() {
new ms.AutoComplete(CustomerOptions);
}, 30000)
ms.dom.documentReady(to)
CustomerOptions
在documentReady()之前是否存在?