未调用浮动树面板的模糊侦听器
Posted
技术标签:
【中文标题】未调用浮动树面板的模糊侦听器【英文标题】:Floating tree panel's blur listener not called 【发布时间】:2014-01-28 19:01:22 【问题描述】:我有一个浮动树面板,当我单击它时,它会在组合框下方显示 (showBy)。我想在树面板外单击以将其隐藏,因此我正在尝试粘贴在下面的模糊侦听器。但是在面板外部单击时不会调用模糊侦听器。
blur: function(tree, event, opts)
treePanel.setVisible(false);
我还尝试在树面板的“el”上设置模糊侦听器,但是单击树节点本身会触发此侦听器。我不完全明白为什么会这样。
el:
blur: function()
treePanel.setVisible(false);
有人可以建议我应该如何解决这个问题吗?谢谢。
【问题讨论】:
你能让焦点事件触发吗?也许它永远不会真正聚焦,所以它永远不会失去焦点。此外,如果您发布更多代码,也许在一个工作的 jsfiddle 中,它会更容易调试。 焦点事件也不会触发。我检查了 document.activeElement 并显示了树视图 div。 【参考方案1】:您必须将焦点设置在浮动网格上。 blur
仅在组件失去焦点时才有效。要想散焦,必须先得到焦。
在您的代码中将 treePanel.setVisible(true);
替换为
treePanel.setVisible(true)
treePanel.focus()
【讨论】:
以上是关于未调用浮动树面板的模糊侦听器的主要内容,如果未能解决你的问题,请参考以下文章
在 Panel 中使用渲染时未调用 Primefaces Ajax 侦听器