html - 卡片组件内的 Bootstrap 4 按钮具有单击事件

标签 html twitter-bootstrap angular typescript

我有以下 html 代码来使用 bootstrap 4 生成基本卡。 我想在单击卡片时更改卡片的样式。但是,如果单击该按钮,我不希望样式发生变化。 目前,当我单击 test1 按钮时,我还将激活 onCardClick() 函数。 有没有办法做到这一点,这样当我单击测试按钮1时,只有 Test1() 执行

<div class="container">
  <div class="row">
    <div class="col-md-4">
    <div class="card" (click)="onCardClick()">
        <div class="card-block">
        <h4 class="card-title d-inline">Some Title</h4>
        <button class="btn btn-primary" (click)="onTest1()">test1</button>
        <button class="btn btn-primary" (click)="onTest2()">test2</button>
        </div>
    </div>
 </div>

最佳答案

你可以尝试这样做来阻止事件在 dom 中冒泡:

<div class="container">
  <div class="row">
    <div class="col-md-4">
      <div class="card"
           (click)="onCardClick()">
        <div class="card-block">
          <h4 class="card-title d-inline">Some Title</h4>
          <button class="btn btn-primary"
                  (click)="onTest1($event)">test1
          </button>
          <button class="btn btn-primary"
                  (click)="onTest2($event)">test2
          </button>
        </div>
      </div>
    </div>
  </div>
</div>

在你的组件中:

import {Component} from "@angular/core"

@Component({
    selector: 'test',
})

export class Test
{
    onTest1(event)
    {
        event.stopPropagation();
        //or event.preventDefault()
        //stuff to run
    }

    onTest2(event)
    {
        event.stopPropagation();
        //stuff to run
    }

}

关于html - 卡片组件内的 Bootstrap 4 按钮具有单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42162265/

相关文章:

html - 在一行内响应式地重新排序列

html - 如果 child 较小,则继承​​父宽度 - child 定位绝对

angular - 指令 Angular 2 上的停止按钮单击事件

javascript - 仅显示具 Angular html 中的真实条件的 html 元素

javascript - 列表 <li> 元素即使在移动设备上调用 .hide() 后也不会隐藏

html - Chrome : unable to get :focus CSS applied on anchors

php - 单选按钮未显示在页面中

javascript - Angular 8 应用程序,当使用片段与标题重叠时

php - 如果可以选择,网页内容应该保存在文件系统中还是MySQL中?

html - 具有底部对齐页脚的相同高度柔性盒中的垂直对齐