事件重新定位焦点和模糊事件

时间:2014-05-25 05:48:29

标签: polymer web-component shadow-dom

我有一个自定义的Polymer元素,用于表示复杂的输入类型。它在Shadow DOM中包含一个实际的input标记,如下所示:

<polymer-element name="my-input">
  <template>
    <input type="text" on-blur="{{onBlur}}" on-focus="{{onFocus}}"/>
  </template>
  <script>
    Polymer('my-input', {
      onBlur: ...,
      onFocus: ...
    });
  </script>
</polymer-element>

目前,当用户在内部输入和自定义元素中的其他区域之间进行单击时,focusblur事件会泄露给外部侦听器。如果您在this CodePen中打开开发工具控制台,即使在输入和周围绿色区域(全部位于自定义元素内)之间点击,您也会看到内部和外部焦点和模糊事件。< / p>

是否无法捕获自定义元素中的focusblur事件,因此我只能在实际聚焦并模糊整个自定义元素时触发它们?

1 个答案:

答案 0 :(得分:3)

原来我的tabindex代码需要polymer-element

<polymer-element name="my-input" tabindex="0">

Here's a working CodePen其中外部focusblur事件仅在整个元素聚焦和模糊时才会注册。

相关问题