利用 event.target 获取冒泡到 doc 的 click 事件元素,再利用 closest 遍历是否是要隐藏的元素。false,隐藏元素。
$(document).on("click", function(event) { var $ele = $("#demoBox"); if (!$(event.target).closest($ele)[0]) { $ele.hide(); } });