Javascript jQuery blur()未侦听$(此)
然后是HTML DOM:Javascript jQuery blur()未侦听$(此),javascript,jquery,html,Javascript,Jquery,Html,然后是HTML DOM: <div class="opt"> Options <div class="panel"> <h3>i am in panel!!</h3> </div> </div> 这是一个演示 但是blur方法没有执行,从技术上讲,我做错了什么?如果为div定义de-tabindex属性,这会起作用。。。 尝试: HTML 如果为div定义de-tabindex属性,
<div class="opt">
Options
<div class="panel">
<h3>i am in panel!!</h3>
</div>
</div>
这是一个演示
但是blur方法没有执行,从技术上讲,我做错了什么?如果为div定义de-tabindex属性,这会起作用。。。 尝试: HTML
如果为div定义de-tabindex属性,则此操作有效。。。 尝试: HTML
您可以将淡出操作绑定到主体的单击处理程序,然后添加:
event.stopPropagation();
要创建opt类,请单击处理程序以实现此目的
您可以将淡出操作绑定到主体的单击处理程序,然后添加:
event.stopPropagation();
要创建opt类,请单击处理程序以实现此目的
您可以尝试在主体上单击事件,而不是模糊。看看
您可以尝试在主体上单击事件,而不是模糊。看看
看看我用tab索引属性尝试了你的代码,它可以工作。看这个:[[1]:我注意到它与mouseleave而不是blur一起工作,但是它不会侦听ClicksAllso,如果通过jquery触发事件,它的响应会很好。它在Internet explorer中也很好,因此可能是与如何解释此事件有关的浏览器问题。tab索引技巧似乎很有效。我不确定在DIV上使用blur是否有意义。它用于输入元素,可以接收并失去焦点。请看。我用tab index属性尝试了您的代码,效果很好。请看:[[1]:我注意到它与mouseleave而不是blur一起工作,但是它不会侦听ClicksAllso,如果通过jquery触发事件,它的响应会很好。它在Internet explorer中也很好,因此可能是与如何解释此事件有关的浏览器问题。tab索引技巧似乎很有效。我不确定在DIV上使用blur是否有意义。它用于输入元素,可以接收并失去焦点。我不理解if{..}单击主体时要做什么..请描述一下?如果目标是.opt,我不想关闭面板,所以我返回false以退出事件。单击事件在主体上,但如果内部元素在.opt内,我返回false以退出方法以保持面板打开。好的,我认为这比在.opt上停止播放更好…你认为呢?是的。使用stopPropagation,你将无法检测到冒泡时可能发生的其他事件。例如,父div上的事件将不起作用。我不明白如果{..}单击主体时要做什么..请描述一下?如果目标是.opt,我不想关闭面板,所以我返回false以退出事件。单击事件在主体上,但如果内部元素在.opt内,我返回false以退出方法以保持面板打开。好的,我认为这比在.opt上停止播放更好…您认为如何?是的。使用StopRoPagation,您将无法检测冒泡时可能发生的其他事件。例如,父div上的事件将不起作用。
$('.opt').click(function(){
$(this).find('.panel').fadeIn();
$(this).blur(function(){
$(this).find('.panel').fadeOut();
alert('i am from blur');
});
});
event.stopPropagation();
$('.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');
}
});