情景还原:通过input和异地div元素组合做一个类似原生的下拉框,要求点击input框以外区域隐藏div元素,通过调试发现点击空白区域可以触发input的blur事件,但是点击div内元素不会触发,于是采用以下方式在点击除该input以外的区域强制加上input的blur事件。
//控制点击 input 以外的区域会触发 input 的 blur 事件
$(document).mouseup(function (e) {
var _con = $(".ztree-dropdown-content"); // 设置目标区域
if(!_con.is(e.target) && _con.has(e.target).length === 0){
$(".ztree-dropdown-content").hide();
}
});
通过以上方法可以实现点击除class为ztree-dropdown-content的input以外的区域均可触发此input的blur事件。