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

时间:2018-09-10 22:04:38

标签: polymer polymer-2.x

我有以下代码

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上对我不起作用,它给我一个错误提示this.listen不是功能。如何在span元素上设置一个侦听器,以使其在单击时触发_removeIt()?

1 个答案:

答案 0 :(得分:2)

this.listen等价

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

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

是:

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

使用click代替tap

在聚合物1中,建议使用tap以获得跨平台一致性来处理点击/抽头。但是,鉴于现代移动浏览器的发展,在聚合物2 tap is no longer recommended as the default中。您应该使用click而不是tap

不要Polymer.dom(span)

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