【发布时间】:2019-10-08 15:57:24
【问题描述】:
我正在尝试将 JQuery 的 blur 与 tag-it 库一起使用,但是它不起作用。
我不确定为什么模糊不起作用。
我点击输入,没有任何反应,我没有收到错误。
未出现模糊中的警报。
我尝试过使用:
.on(blur, handler)
还有:
$(document).ready(function(){
("#id").blur()
})
他们都没有工作。
这是我的代码:
var id_name = [[],[]];
var selected = true;
$("#Approversdisp").tagit({
allowSpaces: true,
autocomplete:{
minLength: 3,
delay: 600,
source: function(request, response){
$("#divreviewersearch").show();
$.ajax({
"url" :"private",
"type" : "GET",
"data" : {"name": request.term.trim()},
"contentType" : "application/json",
"success" : function(data) {
id_name[0] = data[0];
id_name[1] = data[1];
response(data[0]);
$("#divreviewersearch").hide();
},
"error" : function(error)
{
alert("error: "+JSON.stringify("There was an error!"));
}
});
},
select: function(event, ui) {
selected = false;
var nameid = ui.item.value;
var approvers = document.addcontent' . $item_id .'.Approvers.value;
ui.item.label = ui.item.label.replace(/\((.*?)\)/, "");
ui.item.value = ui.item.value.replace(/\((.*?)\)/, "");
document.addcontent' . $item_id .'.Approvers.value = approvers+"|"+id_name[1][id_name[0].indexOf(nameid)];
},
}
});
$("#Approversdisp").blur(function() {
alert("in blur");
if(selected){
var input = $("#Approversdisp").val();
input = input.split(",");
$("#Approversdisp").tagit("removeTagByLabel", input[input.length-1]);
alert("please pick the tag from the list.");
}
selected = true;
});
预期的结果是模糊效果。
【问题讨论】:
-
能否请您解决第二个 sn-p 中的拼写错误?
-
另外,我不熟悉“tag-it”,但一些 UI 插件通过将原生元素替换为它们自己的元素来发挥作用,这些元素能够提供所需的样式。您是否验证了在与使用 tag-it 初始化的元素交互时,“#Approversdisp”实际上获得了焦点,而不是插件中其他一些动态生成的元素?
标签: javascript jquery tag-it