我想我需要做类似的事情:
<li on-mouseover="{{ myHoverHandler }}">blah</li>
因为处理点击看起来像这样:
<li on-click="{{ myClickHandler }}">blah</li>
我尝试使用此处文档中显示的方式:声明式事件映射 http://www.polymer-project.org/docs/polymer/polymer.html#declarative-event-mapping , but on-mouseenter
and on-mouseover
没有按预期工作。
我在将参数传递给我的处理程序时也遇到了麻烦,但这是一个不同的故事。
on-mouseover
and on-mouseout
是正确的,这是一个演示Stack Snippet
:
<script src="//cdnjs.cloudflare.com/ajax/libs/polymer/0.3.3/platform.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/polymer/0.3.3/polymer.js"></script>
<my-app></my-app>
<polymer-element name='my-app'>
<template>
<button on-mouseover='{{onHovered}}'
on-mouseout='{{onUnhovered}}'>
A humble button
</button>
<div>
hovered: {{hovered}}
</div>
</template>
<script>
Polymer('my-app', {
hovered: false,
onHovered: function() {
this.hovered = true;
},
onUnhovered: function() {
this.hovered = false;
}
})
</script>
</polymer-element>
您的元素可能没有myHoverHandler
财产。也许有一个错字?
至于是否使用 Polymer 事件绑定与其他方法,您绝对可以使用 vanilla js 或 jquery 等来做到这一点。 Polymer 处理一些繁忙的工作,例如确保事件处理程序在条件和重复模板中注册、绑定this
到通常是你想要的元素,并在从 DOM 中删除元素时取消注册处理程序。但有时手动执行也很有意义。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)