我需要能够控制实际触发模糊事件的时间。
<div class="selectedcomp"></div>
<input type="text" class="textbox" maxlength="50" id="searchfavs" />
<div id="globalcompanyresultscontainer">
<div id="globalcompanyresults">
</div>
</div>
当用户在#searchfavs 中输入查询时,我将结果加载到#globalcompanyresults。当用户单击加载的结果时,我将该结果的 HTML 复制到另一个元素中:
$('#globalcompanyresults').on('click', 'div.company-card img', function () {
$('#globalcompanyresults').html('');
$('.selectedcomp').html($(this).parent()[0].outerHTML);
});
一旦用户在#searchfavs 元素外部单击或按下Tab 键,也会导致#searchfavs 失去焦点,我想清除所有结果,只需调用以下命令:
$("#searchfavs").blur(function () {
$('#globalcompanyresults').html('');
});
但是,一旦用户单击#globalcompanyresults 中的结果,也会调用此函数,引发模糊事件,导致#globalcompanyresults 为空,我无法再访问单击的结果HTML。
onblur,如果单击#globalcompanyresults 中的结果、单击其他地方或按tab 键,则可能不会触发,一切都很好。