Javascript onclick函数错误无法读取属性';inv&x27;未定义的

Javascript onclick函数错误无法读取属性';inv&x27;未定义的,javascript,html,Javascript,Html,我有如下javascript函数: function myClickEvent(params) { var inv = $("#" + params["inv"]); inv.on("click", function () { $.ajax({ url: params["route"], contentType: "text/json", success: function (result)

我有如下javascript函数:

function myClickEvent(params) {
    var inv = $("#" + params["inv"]);
    inv.on("click", function () {
        $.ajax({
            url: params["route"],
            contentType: "text/json",
            success: function (result) {
                history.pushState(null, null, params["route"]);
                $("#content-wrapper").html(result);
                inv.parent().siblings().removeClass("active");
                inv.parent().addClass("active");
            }
        });
        return false;
    });
}
我将其调用到我的html文件中,如下所示:

<button onclick='myClickEvent()'>Click me</button>
点击我
它显示出错误

无法读取未定义的属性“inv”


如何测试此函数?

params
应该是一个带有
inv
属性的Javascript对象,您没有将其作为函数的参数提供

函数myClickEvent(参数){
var inv=$(“#”+参数[“inv”]);
库存开启(“点击”,功能(){
console.log(inv+“:单击”);
//$.ajax({
//url:params[“路由”],
//contentType:“text/json”,
//成功:功能(结果){
//pushState(null,null,params[“route”]);
//$(“#内容包装器”).html(结果);
//inv.parent().sides().removeClass(“活动”);
//inv.parent().addClass(“活动”);
//  }
//  });
//返回false;
});
}

点击我


Test
params
应该是一个带有
inv
属性的Javascript对象,您没有将其作为函数的参数提供

函数myClickEvent(参数){
var inv=$(“#”+参数[“inv”]);
库存开启(“点击”,功能(){
console.log(inv+“:单击”);
//$.ajax({
//url:params[“路由”],
//contentType:“text/json”,
//成功:功能(结果){
//pushState(null,null,params[“route”]);
//$(“#内容包装器”).html(结果);
//inv.parent().sides().removeClass(“活动”);
//inv.parent().addClass(“活动”);
//  }
//  });
//返回false;
});
}

点击我


Test
这是因为您没有向函数传递任何内容,所以可以通过这种方式进行测试

单击我


然后在函数的第一行添加
console.log(params)
,这是因为您没有向函数传递任何内容,所以可以通过这种方式对其进行测试

单击我



然后在函数的第一行添加
console.log(params)

您需要阅读javascript教程,您告诉按钮在没有参数的情况下单击函数myClickEvent()时执行,在您期望的定义中,params param本身并没有填充,我会告诉您添加参数,但您真正需要做的是不要在html中使用onClick属性,而是在button元素中使用脚本中的addEventListener。

您需要阅读javascript教程,您告诉按钮在没有参数的情况下单击函数myClickEvent()时执行,在定义中,您需要一个params param,它本身并没有填充,我会告诉您添加param,但您真正需要做的是不要在html中使用onClick属性,而是在button元素中使用脚本中的addEventListener。

您需要传递一些参数。myClickEvent(),您没有传递任何内容,也没有期望函数调用中出现某些内容您不明白错误的哪一部分?你希望你的代码做什么?@McRist喜欢什么?我没有要传递的任何内容。您可以提供一些html代码以及作为参数(params)传递的对象的框架@SLaks要通过Ajax显示消息,您需要传递一些参数。myClickEvent(),您没有传递任何内容,也没有期望函数调用中出现某些内容您不明白错误的哪一部分?你希望你的代码做什么?@McRist喜欢什么?我没有任何要传递的内容。您可以提供一些html代码以及作为参数传递的对象的框架(params)@SLaks通过Ajax显示消息单击我按钮没有任何作用。你能解释一下吗?@Chu user303单击它,然后单击测试按钮。但我不想显示两个按钮:(@CHU user303你不知道你自己的代码是做什么的吗?如果你不想要这种行为,那么请删除
params
。单击“我”按钮没有任何作用。你能解释一下吗?@CHU user303单击它,然后单击“测试”按钮。但我不想显示两个按钮:(@CH_user303您不知道您自己的代码是做什么的吗?如果您不希望出现这种行为,请删除
params
的用法。