Javascript 为什么引导下拉调用window.onfocus
当我们点击bootstrap下拉链接时,会调用自定义setJavascript 为什么引导下拉调用window.onfocus,javascript,jquery,twitter-bootstrap,Javascript,Jquery,Twitter Bootstrap,当我们点击bootstrap下拉链接时,会调用自定义setwindow.onfocus 为什么引导调用window.onfocus方法 <ul class="nav navbar-nav navbar-right"> <li data-ng-show="userName" class=""> <a href="javascript://" class="dropdown-toggle" data-toggle="dropdown" aria-expand
window.onfocus
为什么引导调用window.onfocus
方法
<ul class="nav navbar-nav navbar-right">
<li data-ng-show="userName" class="">
<a href="javascript://" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">name<span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li><a href="#">Logout</a></li>
</ul>
</li>
</ul>
当我们单击菜单时,将显示警报消息。因为引导会在单击的下拉锚上触发一个
焦点事件。这个事件自然会在DOM树中出现气泡,直到它到达窗口并调用您的功能为止
您可以使用event.stopPropagation()
来防止这种情况:
因为引导会在单击的下拉锚上触发一个焦点
事件。这个事件自然会在DOM树中出现气泡,直到它到达窗口并调用您的功能为止
您可以使用event.stopPropagation()
来防止这种情况:
Window.onfocus将自身绑定到窗口对象,并由所有焦点事件触发,因为它们会在DOM树中冒泡。单击下拉列表时的焦点事件与单击窗口时的焦点事件不同。您可以在查看的控制台时看到这一点
onfocus将自身绑定到窗口对象,并由所有焦点事件触发,因为它们会在DOM树中冒泡。单击下拉列表时的焦点事件与单击窗口时的焦点事件不同。您可以在查看的控制台时看到这一点
为什么你认为这是引导,而不仅仅是浏览器触发了onfocus,因为你聚焦了页面?@epascarello否,你可以检查它是引导调用onfocus,就像你在jsfiddle的结果窗口中点击空闲区域时,它调用了警报一样。点击警报框中的确定。现在再次点击空闲区域,没有弹出窗口。。。现在点击下拉菜单,弹出窗口为什么你认为它是引导,而不仅仅是浏览器触发onfocus,因为你聚焦了页面?@epascarello No,您可以选中它Yes bootstrap calling onfocus,因为当您在JSFIDLE的结果窗口中单击空闲区域时,它会调用警报。单击警报框上的ok。现在再次单击空闲区域,无弹出窗口。。。现在点击下拉菜单,弹出窗口只是想知道为什么引导程序需要在屏幕上触发focus
事件dropdown@user2410148这样你和我可以在需要的时候赶上比赛。一个正常的select
下拉列表将触发一个focus
事件,引导程序所做的所有尝试都是尽可能地模拟这个行为。只是好奇为什么引导程序需要在屏幕上触发focus
事件dropdown@user2410148这样你和我可以在需要的时候赶上比赛。正常的select
下拉列表将触发focus
事件,引导程序所做的所有尝试都是尽可能地模拟此行为。
window.onfocus = function() {
alert("window onfocus called");
}
jQuery(function($){
$('.dropdown-toggle').focus(function(e){
e.stopPropagation();
});
});
window.onfocus = function(e) {
console.log(e);
}