javascript - polymer 2 : Handle clicks on PaperCard header

标签 javascript polymer polymer-2.x paper-elements

我有一个自定义元素,其中包含 <paper-card> 元素。我想监听该元素标题的点击,即 <div class="header">元素。

我当前的解决方案如下所示

<paper-card heading="[[title]]" on-tap="onCardClick">
    ...
</paper-card>

onCardClick(e){
    if( e.path[0].classList.contains('header') || e.path[0].classList.contains('title-text') ){
        // Header was clicked
    }
}

但感觉很老套。

有更好的方法吗?

最佳答案

我建议将标题元素分开

<paper-card>
  <div class="header" on-click="onCardClick">
    <div class="title-text">[[title]]</div>
  </div>
</paper-card>

使用原始 CSS:

.header {
  position: relative;
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
  overflow: hidden;
}

.title-text {
  padding: 16px;
  font-size: 24px;
  font-weight: 400;
  color: var(--paper-card-header-color, #000);
}

它与使用 heading 属性的效果完全相同,但更灵活。

关于javascript - polymer 2 : Handle clicks on PaperCard header,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47328028/

相关文章:

polymer - 有没有办法让安全的 html 数据绑定(bind)到 polymer 中?

countdown - Polymer:创建倒计时时钟

javascript - 当输入类型 = 文件框已填充时更改按钮文本

javascript - 使用具有 firebase 功能的 polymer 和 firebase 的网络推送通知

javascript - Safari 中的 Polymer 组件调度事件

javascript - 在 Javascript 中搜索对象

javascript - 如何在提交按钮后从输入中删除文件

javascript - 使用 Blazor Webassembly 和 ASP.NET Core 安全文件下载

javascript - 如何从 javascript 函数内部调用 Polymer 对话框

javascript - 使用trigger() 无法获取事件目标