Jquery/js引入的button的onclik事件只触发一次

  • 目标描述

我要实现的是:通过监听button的click事件,从而通过ajax向servlet发送请求获取数据库中的数据,然后返回的页面,并要求局部刷新

一次页面的加载是html直接页面初始化本身的

点击之后所在板块是通过js重新覆盖的

  • 问题描述

第一点击的时候,成功加载,但第二次就无法触发

  • 修改之前的代码
$(function() {//初始化方法
        $(".Goodshandle").on("click",function() {
            var goodsid=$(this).val();
            console.log(goodsid);
            var frushId="handle";
            $.ajax({
                //对应servelt路径
                url : "Goods_UpOrDown",
                //传到服务端的数据
                data : {"goodsid":goodsid},
                //请求方式                
                type : "post",
                //传输数据的格式
                dataType : "json",
                //请求成功后执行的方法
                success : function(data) {
                    console.log(data);
                    //这里的代码是通过Jquery的html();方法对指定板块的html代码重写覆盖,从而实现局部更新,具体代码略去
                    
                }
            });
            
        })
        
    
    })
  • 问题分析

原因是通过on来绑定click事件如上述代码,只会监听一次,之后就会丢失

  • 处理方法

将绑定方式更改为

$(document).off("click",".Goodshandle").on("click",".Goodshandle", function() {
  //此处代码和上述一样
}
原文地址:https://www.cnblogs.com/StevenZheng/p/10789902.html