JS为多个标签绑定相同的事件

*遇到多个标签需要绑定事件,一个一个绑定太过于麻烦;
选择循环绑定更为方便;

方法一

// 获取相同classname的标签,是一个数组
var list = document.getElementsByClassName("n_list");

for (var i = 0; i < list.length; i++) {
    list[i].onmousemove = change; /* 绑定事件,这里函数不能加括号,否则绑定失败*/
}

// 写一个函数改变标签的样式,this指向需要改变的对象
function change() {
    this.style.backgroundColor = "red";
} 

方法二

// 获取相同classname的标签,是一个数组
var list = document.getElementsByClassName("n_list");

for (var i = 0; i < list.length; i++) {

/*还可以为数组中的对象添加一个属性 num 记录当前对象的位置(下标),
因为绑定完事件后i已经变成length,不能获取绑定事件所对应的对象*/
	list[i].num=i;
    list[i].onmousemove = function(){
    	alert(this.num);
    };
}
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在微信小程序中,一个 `bindinput` 只能一个事件名字,但你可以通过编写自义组件的方式来实现一个 `bindinput` 多个事件名字。 具体步骤如下: 1. 在 `component` 文件夹下创建一个自义组件,例如 `multi-input` 2. 在 `multi-input` 组件的 wxml 文件中添加多个 `input` 标签,并分别不同的事件名字,例如: ```html <input bindinput="onInput1"> <input bindinput="onInput2"> <input bindinput="onInput3"> ``` 3. 在 `multi-input` 组件的 js 文件中,义多个事件处理函数,例如: ```javascript Component({ methods: { onInput1(event) { console.log('input1:', event.detail.value); }, onInput2(event) { console.log('input2:', event.detail.value); }, onInput3(event) { console.log('input3:', event.detail.value); } } }) ``` 4. 在使用 `multi-input` 组件的页面中,使用 `bindinput` `multi-input` 组件的 `input` 事件,例如: ```html <multi-input bindinput="onMultiInput"></multi-input> ``` 5. 在页面的 js 文件中,义 `onMultiInput` 事件处理函数,并在该函数中分别调用 `multi-input` 组件的各个事件处理函数,例如: ```javascript Page({ onMultiInput(event) { const value = event.detail.value; this.selectComponent('#multi-input').onInput1({ detail: { value } }); this.selectComponent('#multi-input').onInput2({ detail: { value } }); this.selectComponent('#multi-input').onInput3({ detail: { value } }); } }) ``` 这样,当用户输入时,会触发 `multi-input` 组件的多个 `input` 事件处理函数,并分别打印出输入的内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

For. tomorrow

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值