如何在Polymer 2.0中的span元素上设置侦听器?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Polymer 2.0中的span元素上设置侦听器?相关的知识,希望对你有一定的参考价值。

我有以下代码

var span = document.createElement('span');
Polymer.dom(span).setAttribute('class','right-icon dfw-remove-icon dfw-24');
this.listen(span, 'tap', '_removeIt');
return span;

这部分代码来自一个使用Polymer 1的旧项目,但我正在尝试使用Polymer 2创建一个应用程序。第三行在Chrome上对我不起作用,它给出了一个错误,说明这个.listen不是功能。如何在span元素上设置一个监听器,以便在单击时触发_removeIt()?

答案

this.listen equvialent

this.listen()有效地调用addEventListener(),因此相当于:

this.listen(span, 'tap', '_removeIt');

是:

span.addEventListener('tap', e => this._removeIt(e));

Use click instead of tap

在Polymer 1中,tap被推荐用于处理点击/点击时的跨平台一致性。然而,鉴于现代移动浏览器的进步,在Polymer 2,tap is no longer recommended as the default中。你应该使用click而不是tap

Don't do Polymer.dom(span)

如果span是使用Polymer.dom(span)创建的元素,则无需调用document.createElement()

以上是关于如何在Polymer 2.0中的span元素上设置侦听器?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Polymer 2.0中更改自定义元素的属性?

如何在Polymer 2.0中启用Shady DOM?

使用Shady DOM document.getElementByID()的Polymer 2.0

如何在Polymer 2.0 on-tap功能中传递参数?

Polymer 2.0 - 你能写信给 fs 吗?

简述div元素和span元素的区别