比如一个spa应用,里面的链接都是绑定的click事件,通过 history.pushState 更新页面,那我直接在html代理点击事件,再给每个链接添加一个自定义属性(如path=“/home”),这样算是比较好的办法么
比如一个spa应用,里面的链接都是绑定的click事件,通过 history.pushState 更新页面,那我直接在html代理点击事件,再给每个链接添加一个自定义属性(如path=“/home”),这样算是比较好的办法么
11 回答1.2k 阅读
3 回答955 阅读✓ 已解决
2 回答941 阅读✓ 已解决
3 回答887 阅读✓ 已解决
2 回答646 阅读
3 回答946 阅读
3 回答937 阅读
不建议这样做。
原因有两点:
1.如果代理整个html的点击事件,那么点击页面任意位置都会触发这个事件监听,你需要在这个事件监听里做判断。当一个用户在不停地点击页面空白处或者其他位置的时候,始终都会走这个监听,并且会走一遍判断,实际上是完全没有必要的。
2.当你后期增加其他元素的点击事件,但又不是和之前的链接事件相同的话,你这个就牵一发而动全身了,如果事件还有冒泡影响的话,你是不是还要考虑冒泡之类的问题?不好维护。