Object.assign导致r.Event对象

时间:2016-12-29 03:05:25

标签: javascript object

我正在尝试console.log一个已经从其他2个对象组合的对象。我第一次使用console.log(allObjects),它可以工作,我看到了:

  

对象{name:“david”,wineResults:“[{”Id“:158020,”Name“:”Antinori   Tignanello   2013" , “U ...” 列表 “:[]},” 零售 “:NULL,” 年份 “:{” 清单 “:[]}}]”}

$(document).on('submit', '.add-item-form', function(event) {
    event.preventDefault();

    if (event.type === 'keypress' && event.which === 13 || event.type === 'submit') {

        var name = $('#item-input').val();
        var usersObject = {
            "name": name
        };


        var searchArray = $('#search-results-array').val();
        var searchArrayObj = {
            "wineResults": searchArray
        };

        var allObjects = Object.assign(usersObject, searchArrayObj);
        console.log(allObjects); // This one works great.

        favDropDownItem(allObjects);
        FavoritesList(allObjects);

        $('#item-input').val('');
    }

然后在下面的代码中,我试图将allObjects传递给我创建的链接,该链接显示在下拉菜单中。

function favDropDownItem(allObjects) {
  var output = '';

        output += "<a href='javascript:void(0)' class='dropbtn' onclick='myDropdown()'>Favorites</a>";
        output += "<div class='dropdown-content' id='myDropdown'>";
        output += "<p class='nameLink'>" + name + "</p>";
        output += "<a href='#'>sample</a>";
        output += "</div>";

        $('li.dropdown').html(output);


        $(".nameLink").on('click', function(allObjects) {
            console.log(allObjects);  // This one results in r.Event {originalEvent: MouseEvent, type: "click", target: 
            //p.nameLink, currentTarget: p.nameLink, relatedTarget: null…}
        });
    }

});

当我点击.nameLink时,我希望得到第一个console.log中出现的相同数据,但我看到了这个:

  

r.Event {originalEvent:MouseEvent,type:“click”,target:p.nameLink,   currentTarget:p.nameLink,relatedTarget:null ...}

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

更改事件参数名称

        $(".nameLink").on('click', function(e) {
            console.log(allObjects);  //now you can get correct out put here
        });