Javascript 允许聚合物纸张对话框的模糊(聚焦于其他项目-纸张对话框外的输入字段)

Javascript 允许聚合物纸张对话框的模糊(聚焦于其他项目-纸张对话框外的输入字段),javascript,polymer,Javascript,Polymer,我有一个绝对定位的元素,它位于纸张对话框的外侧(它是一个body>div)。 我在div中有几个输入字段,我想在其中输入一些文本, 但纸张对话框不允许它离开焦点,引用链接 是指向代码笔的链接,用于说明问题。 在使用其中一个按钮打开纸张对话框之前和之后,尝试在输入字段(#my_div)中输入文本 因此,document.activeElement始终是纸张对话框,因此我无法在其外部的输入字段中输入文本。(document.activeElement在控制台中单击任意位置时被记录) 因此,当纸张对话

我有一个绝对定位的元素,它位于纸张对话框的外侧(它是一个body>div)。
我在
div中有几个输入字段,我想在其中输入一些文本,
但纸张对话框不允许它离开焦点,引用链接

是指向代码笔的链接,用于说明问题。
在使用其中一个按钮打开纸张对话框之前和之后,尝试在输入字段(
#my_div
)中输入文本

因此,
document.activeElement
始终是
纸张对话框
,因此我无法在其外部的输入字段中输入文本。(
document.activeElement
在控制台中单击任意位置时被记录)

因此,当
纸张对话框
打开时,我无法单击/聚焦我的
div
中的输入元素,有办法解决吗


附言:我正在寻找一种不改变聚合代码的解决方案(比如处理事件或通过dom属性改变配置),假设我在主站点上运行一个本地自定义JS脚本。

不改变聚合代码尝试捕捉输入的点击,并以编程方式单击“打开”对话框按钮,如下所示:

  <div id="my_div">
    <input type="text" placeholder="Enter text" />
  </div>
  <script>
          document.getElementById('my_div').onclick = function()       {
            document.querySelectorAll('x-dialog paper-dialog:not([aria-hidden="true"]) paper-button')[0].click();
            document.getElementById("my_div").firstElementChild.focus();
      }      
  </script>

document.getElementById('my_div')。onclick=function(){
document.querySelectorAll('x-dialog纸张对话框:非([aria hidden=“true”])纸张按钮)[0]。单击();
document.getElementById(“my_div”).firstElementChild.focus();
}      

检查并验证其是否按预期工作。

看起来没有办法绕过它,
最后,我使用了一种变通方法,将文本框附加到带有固定位置的纸质对话框中,然后在对话框关闭时将其恢复到正常的dom位置。我们找到了解决问题的方法。希望这也能帮助你

new paper.Tool();

  let startDragPoint;

  paper.tool.onMouseDown = (event) => {
    document.getElementById('elementID').blur();
    startDragPoint = event.point;
  };

但这会关闭纸质对话框,我希望它保持打开状态,并能够在boxAFAIK中输入文本纸质对话框的目的是防止对“背后”的任何其他元素采取行动,在我自己尝试了几次之后,我不确定这是否能实现。如果您希望显示带有操作按钮的消息,但仍然允许用户在主屏幕中与按钮、输入等交互,您是否考虑过使用snackbar?谢谢,我最终使用了一种变通方法,将文本框附加到带有固定位置的纸质对话框中,然后在对话框关闭时将其恢复到正常的dom位置。我遇到了相反的问题。我在侧边栏中有一个功能正常的文本字段;但是,当我单击画布上的任意位置时,它不会从文本字段中移除焦点。如果我找到解决办法,我会告诉你的。