美文网首页javascript基础学习
Javascript:事件多次触发的原因

Javascript:事件多次触发的原因

作者: 冰星寒水 | 来源:发表于2015-08-13 17:24 被阅读262次
    图一 点击标记处点击会出现弹出层 图二 图二

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

    原因:

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

    解决办法:

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

    相关文章

      网友评论

        本文标题:Javascript:事件多次触发的原因

        本文链接:https://www.haomeiwen.com/subject/ejtwqttx.html