通过css循环添加点击事件

需求

在实际的场景中,我们有时候不得不使用最原始的html,css,js实现某些业务需求。
下面将会讲到循环渲染的表格,通过css给每行删除按钮添加点击事件。
在这里插入图片描述

实现

1.通过循环渲染html页面。
2.通过css找到删除按钮,添加点击事件。
3.点击事件逻辑处理。

循环生成的html内容如下

`
<div >
  <div class="gf-form btn-update-div-${this.panel.id}" value="${rowIndex}">
    <button class="btn btn-danger btn-small" >
      <i class="fa fa-remove"></i>
    </button>
  </div>
</div>
`

Tips:
这里是通过模板字符串生成的html内容,需要注意的点给每行的删除按钮动态添加了当前唯一标识符this.panel.id,以保证在同一页面,多个循环生成表格的按钮不会互相影响。
value是当前行号。

通过css添加点击事件

  getButtonClick() {
    const dataDiv = '.btn-update-div-' + this.panel.id;
     $(dataDiv).each((i, item) => {
      //index代表每行绑定的value值,和此处的i值其实相同。
       const index = Number(item.getAttribute('value')) || 0; 
       console.log(item,'item')     //item 代表了每一行
         $(item).unbind('click').click(e => {
           console.log(i,'i-index', index)
           this.scope.ctrl.updateData.splice(index, 1);
         });
     });
  }

点击第一行删除效果如下
在这里插入图片描述

Tips:
此处主要用到each方法循环得到每一项添加的点击事件。
当页面频繁刷新情况下,则必须先unbind(‘click’) 去除绑定的click事件,否则会触发多次。

在使用原始的HTMLCSS和JS实现业务需求时,可以通过CSS给每一行的删除按钮添加点击事件。具体实现步骤如下: 1. 首先,使用循环渲染的方式生成HTML内容,其中包含了删除按钮的相关代码。例如,可以使用以下代码循环渲染生成HTML内容: ```html <div> <div class="gf-form btn-update-div-${this.panel.id}" value="${rowIndex}"> <button class="btn btn-danger btn-small"> <i class="fa fa-remove"></i> </button> </div> </div> ``` 2. 然后,通过CSS选择器找到这些删除按钮,并为其添加点击事件。可以使用类选择器或其他合适的选择器来选择需要添加点击事件的按钮。例如,可以使用以下样式选择器来选择按钮: ```css .btn.btn-danger.btn-small { /* 添加样式 */ } ``` 3. 最后,在点击事件的处理逻辑中,可以编写相应的CSS样式或执行其他操作。需要注意的是,CSS本身并没有提供处理点击事件的官方方式,但可以使用一些巧妙的技巧来使用纯CSS来“检测”点击事件,而不需要任何JavaScript代码。例如,可以使用伪类`:checked`和`label`元素来模拟点击事件。具体的技巧可以参考相关教程或文档。 总结起来,添加CSS按钮点击事件的步骤为:通过循环渲染生成HTML内容,使用CSS选择器找到按钮并添加点击事件,编写点击事件的处理逻辑。在处理点击事件的过程中,可以借助一些CSS技巧来模拟点击事件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [通过css循环添加点击事件](https://blog.csdn.net/weixin_45454281/article/details/126782274)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [click事件修改css_CSS Click事件](https://blog.csdn.net/culiao9310/article/details/108865316)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值