如何在 Polymer 2.0 中的 span 元素上设置监听器?
How to set a listener on a span element in Polymer 2.0?
我有以下代码
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()?
this.listen
等价
this.listen()
有效调用 addEventListener()
,因此相当于:
this.listen(span, 'tap', '_removeIt');
是:
span.addEventListener('tap', e => this._removeIt(e));
使用click
代替tap
在 Polymer 1 中,tap
被推荐用于处理 clicks/taps 的跨平台一致性。然而,在 Polymer 2 中,tap
is no longer recommended as the default,考虑到现代移动浏览器的进步。您应该使用 click
而不是 tap
.
不要Polymer.dom(span)
如果 span 是使用 document.createElement()
创建的元素,则无需调用 Polymer.dom(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 上对我不起作用,它给了我错误说 this.listen 不是函数。我如何在 span 元素上设置侦听器,以便在单击时触发 _removeIt()?
this.listen
等价
this.listen()
有效调用 addEventListener()
,因此相当于:
this.listen(span, 'tap', '_removeIt');
是:
span.addEventListener('tap', e => this._removeIt(e));
使用click
代替tap
在 Polymer 1 中,tap
被推荐用于处理 clicks/taps 的跨平台一致性。然而,在 Polymer 2 中,tap
is no longer recommended as the default,考虑到现代移动浏览器的进步。您应该使用 click
而不是 tap
.
不要Polymer.dom(span)
如果 span 是使用 document.createElement()
创建的元素,则无需调用 Polymer.dom(span)
。