鼠标悬停事件 Lit-Element/Polymer
Mouse-Over event Lit-Element/Polymer
有没有办法在 Lit-Element/Polymer 中创建自定义事件,例如鼠标悬停事件?我一直在寻找这个,但我似乎可以找到一种方法。我知道 Lit-Element 中的事件,比如@click,但对鼠标悬停事件一无所知。
所以我刚刚弄明白了,如果有人有同样的困难,就去post这里。
您必须使用 CustomEvents,这里有一些代码示例:
您应该在元素的 firstUpdate 方法中添加一个新的 EventListener
firstUpdated(){
this.addEventListener('mouseover', this.mouseOverHandler);
}
并声明方法
mouseOverHandler(){
console.log('Hello');
}
就这么简单!!!
这可以使用 lit-html @event
绑定来完成。
对于 mouseover
事件类型,使用 @mouseover="${this.handleMouseover}"
有关 lit-element 事件侦听器的详细信息,请参阅
https://lit-element.polymer-project.org/guide/events
实例:
<script src="https://unpkg.com/@webcomponents/webcomponentsjs@latest/webcomponents-loader.js"></script>
<script type="module">
import { LitElement, html, css } from 'https://unpkg.com/lit-element/lit-element.js?module';
class MyElement extends LitElement {
static get styles() {
return [
css`
span {
padding: 4px 8px;
border: 2px solid orange;
}
`
];
}
render() {
return html`
<span
@mouseover="${this.handleEvent}"
@mouseleave="${this.handleEvent}">
Hover me
</span>
`;
}
handleEvent(e) {
console.log(`Event type: ${e.type}`);
}
}
customElements.define('my-element', MyElement);
</script>
<my-element></my-element>
有没有办法在 Lit-Element/Polymer 中创建自定义事件,例如鼠标悬停事件?我一直在寻找这个,但我似乎可以找到一种方法。我知道 Lit-Element 中的事件,比如@click,但对鼠标悬停事件一无所知。
所以我刚刚弄明白了,如果有人有同样的困难,就去post这里。
您必须使用 CustomEvents,这里有一些代码示例:
您应该在元素的 firstUpdate 方法中添加一个新的 EventListener
firstUpdated(){
this.addEventListener('mouseover', this.mouseOverHandler);
}
并声明方法
mouseOverHandler(){
console.log('Hello');
}
就这么简单!!!
这可以使用 lit-html @event
绑定来完成。
对于 mouseover
事件类型,使用 @mouseover="${this.handleMouseover}"
有关 lit-element 事件侦听器的详细信息,请参阅 https://lit-element.polymer-project.org/guide/events
实例:
<script src="https://unpkg.com/@webcomponents/webcomponentsjs@latest/webcomponents-loader.js"></script>
<script type="module">
import { LitElement, html, css } from 'https://unpkg.com/lit-element/lit-element.js?module';
class MyElement extends LitElement {
static get styles() {
return [
css`
span {
padding: 4px 8px;
border: 2px solid orange;
}
`
];
}
render() {
return html`
<span
@mouseover="${this.handleEvent}"
@mouseleave="${this.handleEvent}">
Hover me
</span>
`;
}
handleEvent(e) {
console.log(`Event type: ${e.type}`);
}
}
customElements.define('my-element', MyElement);
</script>
<my-element></my-element>