需要实现的功能是“将所有元素节点都绑定mousemove事件”,这个功能对于静态节点很容易实现,但对于VUE等框架打包的项目来说,它们全是Ajax元素,该怎么给那些元素绑定事件呢?
所有元素的id和class是不可见的。
需要实现的功能是“将所有元素节点都绑定mousemove事件”,这个功能对于静态节点很容易实现,但对于VUE等框架打包的项目来说,它们全是Ajax元素,该怎么给那些元素绑定事件呢?
所有元素的id和class是不可见的。
1.如上面回答中,在创建元素的时候,直接创建事件是可以的
2.创建的所有元素都给相同的class名称,用on监听元素,即可监听到动态创建的元素
$(document).on('click','.classname',function(){});
推荐第二种方法,事件耦合在html中逻辑容易混乱
可以通过事件委托实现,事件委托实用的场景主要包含下面2个
示例代码如下:
parent. onclick=function(event){
let target = event.target;//精确的事件触发元素
/* 根据你自己的业务,对应进行处理 */
}
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
直接在创建结构的时候,就把方法名和事件加在结构中, 下面只需在months: 写方法即可。
<div @click="add()"></div> 这样子