javascript基础学习

Javascript:事件多次触发的原因

2015-08-13  本文已影响262人  冰星寒水
图一 点击标记处点击会出现弹出层 图二 图二

今天遇到了一个非常奇怪的现象,就是在用 `<s:iterator></s:iterator>`中构造的表格中给每一行绑定相同的事件(有AJAX请求),单独操作没有问题,但是操作多个时会出现问题,修改的数据会非常奇怪,改的位置不是自己期望的数据。

原因:

点击后出现的弹出层中的确定事件是用`live`绑定的。于是第一次触发只提交第一次的数据此时结果正确,由于每次保存成功后都会刷新页面,所以正常单次操作是不会产生问题的,如果快速操作后第二次又会给保存按钮绑定事件,这时就会在保存时触发两次事件,第一次是上一次绑定的,并且保存了上一次的ID,所以会也会修改上次的数据,产生我遇到的这种情况。

解决办法:

抛弃live方法,改用on或者bind但是官方推荐使用on,这些我就不一一赘述了,毕竟网上这些资料太多了随便查看一些on、live、bind的区别看看就好。

上一篇下一篇

猜你喜欢

热点阅读