rak*_*btg 1 html javascript jquery
其次是HTML DOM:
<div class="opt">
Options
<div class="panel">
<h3>i am in panel!!</h3>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
当我点击.opt它会显示.panel内容,但然后我需要触发另一个事件来隐藏.panel单击.opt元素外部时.
jQuery的:
$('.opt').click(function(){
var $this = $(this);
$this.find('.panel').fadeIn();
$this.blur(function(){
$this.find('.panel').fadeOut();
alert('i am from blur');
});
});
Run Code Online (Sandbox Code Playgroud)
这是一个演示JsFiddle
但是这个blur()方法没有执行,我在技术上做错了什么?
您可以在正文上尝试点击事件而不是模糊.看看 https://jsfiddle.net/y0wsfpvb/7/
$('.opt').click(function(){
var $this = $(this);
$this.find('.panel').fadeIn();
});
$('body').click(function (e){
if( $(e.target).closest(".opt").length > 0 == false) {
$('.panel').fadeOut();
alert('fake blur');
}
});
Run Code Online (Sandbox Code Playgroud)