我有以下代码
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
equvialentthis.listen()
有效地调用addEventListener()
,因此相当于:
this.listen(span, 'tap', '_removeIt');
是:
span.addEventListener('tap', e => this._removeIt(e));
click
instead of tap
在Polymer 1中,tap
被推荐用于处理点击/点击时的跨平台一致性。然而,鉴于现代移动浏览器的进步,在Polymer 2,tap
is no longer recommended as the default中。你应该使用click
而不是tap
。
Polymer.dom(span)
如果span是使用Polymer.dom(span)
创建的元素,则无需调用document.createElement()
。