无法将数据(json)从事件处理程序传递给函数

时间:2018-07-04 06:57:25

标签: javascript jquery json

我有一个简单的 eventHandler ,其中有一个具有 json 对象的简单函数。当发生 click 事件时,我想将此json对象数据传递给该函数以警告消息。

<script>
    $(document).ready(function () {
        $('#btnClick').on({                   
            click: function (event) {                   
                sayHello();
            },
            firstName: 'Raihan'
        });
        function sayHello(event)
        {
            alert('Yo ' + event.data.firstName);                
        }
    });
</script>

2 个答案:

答案 0 :(得分:4)

也许试试看:

$(document).ready(function () {
    $('#btnClick').on({                   
        click: function (event) {
            event.data = {firstName: 'Raihan' };
            sayHello(event);
        }
    });
    function sayHello(event)
    {
        alert('Yo ' + event.data.firstName + "\r\n\r\n" + " Event data: " + JSON.stringify(event, null, 4));                
    }
});
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>

<button id="btnClick">ClickMe</button>

JS小提琴:https://jsfiddle.net/qehm3svy/8/

答案 1 :(得分:0)

您必须将“ event”参数传递给sayhello函数。下面是代码,请尝试一下。

<script>
    $(document).ready(function () {
        $('#btnClick').on({                   
            click: function (event) {                   
                sayHello(event);
            },
            firstName: 'Raihan'
        });
        function sayHello(event)
        {
            alert('Yo ' + event.data.firstName);                
        }
    });
</script>