Javascript onclick函数错误无法读取属性';inv&x27;未定义的
我有如下javascript函数: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)
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
的用法。