首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Javascript onclick函数错误无法读取未定义的属性'inv‘

Javascript onclick函数错误无法读取未定义的属性'inv‘
EN

Stack Overflow用户
提问于 2018-08-21 05:24:08
回答 3查看 58关注 0票数 0

我有如下javascript函数:

代码语言: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文件中,如下所示:

代码语言:javascript
复制
<button onclick='myClickEvent()'>Click me</button>

它正在显示错误

无法读取未定义的属性'inv‘

如何测试这个功能?

EN

回答 3

Stack Overflow用户

发布于 2018-08-21 05:26:45

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

代码语言:javascript
复制
function myClickEvent(params) {
    var inv = $("#" + params["inv"]);
    inv.on("click", function () {
       console.log(inv+": clicked");
        //$.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;
    });
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button onclick='myClickEvent({inv: "test"})'>Click me</button>
<p/>
<button id="test">Test</button>

票数 2
EN

Stack Overflow用户

发布于 2018-08-21 05:29:05

这是因为您没有将任何内容传递给函数,您可以这样测试它

<button onclick='myClickEvent("value")'>Click me</button>

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

票数 0
EN

Stack Overflow用户

发布于 2018-08-21 05:29:14

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51938685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档