【发布时间】:2019-05-01 02:22:01
【问题描述】:
在我的 JQuery UI 自动完成功能中,我使用.blur() 在进行选择时关闭 IOS 键盘:
// Purpose: Instantiate Autocomplete
function autocomplete() {
searchInput.autocomplete({
source: autocompleteCourts,
minLength: 3,
select: function (event, ui) {
location.hash = "trigger-header";
isEFile(event, ui);
// Close keyboard on IOS when an option is selected
ui.blur();
}, open: function (event, ui) {
$("li.ui-menu-item:odd").addClass("ui-menu-item-alternate");
$(".ui-menu-item-alternate").css("background-color", "#f2f4f7");
$("ul.ui-menu").addClass("mt-2 w-auto");
$("ul.ui-menu").css("z-index", 0);
}
});
浏览器抛出错误Uncaught TypeError: ui.blur is not a function。
在调用函数blur()之前是否应该检查它是否存在?
【问题讨论】:
-
您是在页面加载之前还是之后加载 Javascript 代码?
-
ui = An Object with label and value properties for the selected option.不是实际输入,你可以试试event.currentTarget.blur() -
@merkur0 我把所有东西都包裹在了
$(document).ready(); -
你确认
ui是一个元素吗? -
@Lewis 它可能不是一个元素。有什么好的验证方法?
console.log(ui);?
标签: javascript jquery jquery-ui blur