我具有包括两种类型的信息的形式,第一类是新数据,第二类来自数据库“此类型由属性preDefined定义” 我想在输入后显示具有预定义属性的搜索图标,仅当我将焦点放在或悬停在输入上时“此图标,我用它来显示新的模式以从数据库中选择数据”,因此,如果我单击了icont按钮,则该图标将显示如果我单击另一个,则删除图标
这是Jquery函数
$('input').each(function(){
if ($(this).attr('preDefined') === 'preDefined') {
$(this).focus(function(){
$(this).after(
'<button type="button" class="preDefinedSearch" id="preDefinedSearch" data-toggle="modal" data-target="#exampleModalCenter"><i class="fas fa-search"></i></button>'
);
})
.blur(
jQuery('#preDefinedSearch').click(function(){
$(this).data('clicked', true);
}));
if(jQuery('#preDefinedSearch').data('clicked')) {
//clicked element, do-some-stuff
}
else {
$("#preDefinedSearch").remove();
}
$(this).hover(function(){
$(this).after(
'<button type="button" class="preDefinedSearch" id="preDefinedSearch" data-toggle="modal" data-target="#exampleModalCenter"><i class="fas fa-search"></i></button>'
);
},
function(){
$("#preDefinedSearch").remove();
})
}
});
这是我的第一个代码,添加和删除按钮效果很好,但是当我单击按钮时,按钮被删除,模态未打开
// add search div pre define fields
$('input').each(function(){
if ($(this).attr('preDefined') === 'preDefined') {
// NOTE: add button on focus of preDefined input
$(this).focus(function(){
$(this).after(
'<button type="button" class="preDefinedSearch" id="preDefinedSearch" data-toggle="modal" data-target="#exampleModalCenter"><i class="fas fa-search"></i></button>'
);
})
// NOTE: remove button if no focus of preDefined input
.blur(function(){
$("#preDefinedSearch").remove();
});
}
});
答案 0 :(得分:0)
已从JQuery API文档中阅读了这些文章。 .focus()和.blur()可用于在某个元素被单击或单击时被显示或从DOM中删除元素。