我的任务是为添加到ERP系统中的新工具开发一些教程,在对一些jQuery插件进行了一些测试之后,我决定使用EnjoyHint-我使用的是fork,因为它可以更好地进行更新和更正了原始代码中的一些错误。
使用简单的表单字段,按钮和HTML元素,配置起来都很酷,但是我很难与jQuery TokenInput插件进行享乐互动,我使用该插件动态搜索数据库并以下拉列表的形式返回选项
因为tokeninput插件充当两步插入数据(首先输入要查找的数据,然后在类似下拉列表中选择更能满足您的需求的选项),所以我认为这对用户首先在输入文本/令牌输入字段中键入数据,然后在对数据库的AJAX请求(对令牌输入字段本身的回调)之后,显示另一步骤,以专注于所需选项的选择。选择完成后,将触发一个新的AJAX请求,该请求将显示DIV并返回用户数据。
第一步(键入数据以搜索到数据库中),它的工作方式类似于下面的代码(tour_init是EnjoyHint实例的名称):
{
onBeforeStart: function() {
$('#token-input-input_name').focus();
$('#token-input-input_name').keydown(function(){
if($(this).val().length > 9){
setTimeout(function(){
tour_init.trigger('next');
}, 2000);
}
});
},
selector: '#token-input-input_name',
event_type: 'custom',
description: 'Type your ID number code'
}
但是第二个(当用户需要在下拉菜单中选择选项时),即使等待用户的选择也有超时延迟,如果用户使用键盘箭头浏览选项,则超时将失败并且游览跳一步,甚至自行结束巡视(我还将rect选择的底部负值定位,以向用户显示下拉选项):
{
selector: '#token-input-input_name',
description: 'Select your option and confirm with ENTER key',
event: 'key',
keyCode: 13,
bottom: -100,
right: 2,
left: -1
}
如果用户按了非Enter键(键代码13),是否有某种方法可以阻止巡视?
非常感谢,伙计们!