需求:使用input和ul实现下拉框功能,当用户点击下拉框以外的位置实现关闭下拉框
第一步:
实现点击任何地方隐藏下拉框。
$(document).click(function(){
$(".select").hide()
})
添加该方法后,会发现select下拉框也无法显示。这是因为事件冒泡,当点击input时,冒泡事件会冒泡到document元素上,所以下拉框无法显示,这时候就需要阻止input上的事件冒泡。
第二步:
阻止目标元素上的冒泡。
$(".input").click(function(){
event.stopPropagation()
})