Javascript 正在尝试使用事件打印。数据未定义
我试图让我的sayHello函数打印出“Test”,但它打印出的是未定义的。我有一个对象,其中有一个名为firstName的字段,设置为“Test”。我遗漏了什么,因此我的sayHello函数提醒“Test”,而不是Javascript 正在尝试使用事件打印。数据未定义,javascript,jquery,Javascript,Jquery,我试图让我的sayHello函数打印出“Test”,但它打印出的是未定义的。我有一个对象,其中有一个名为firstName的字段,设置为“Test”。我遗漏了什么,因此我的sayHello函数提醒“Test”,而不是event.data.firstName的未定义。这是我的密码 $('button.focus').click(function() { $('div').data("greeting","Hello world"); alert($('div').data("greeti
event.data.firstName
的未定义。这是我的密码
$('button.focus').click(function() {
$('div').data("greeting","Hello world");
alert($('div').data("greeting"));
{
firstName: 'Test'
}
}, sayHello);
function sayHello(event)
{
alert(event.data.firstName)
}
根据event.data的文档 绑定当前执行处理程序时传递给事件方法的可选数据对象 在您的示例中,您试图绑定到一个匿名函数和一个命名函数 .click()不支持此操作。您需要像下面这样传递事件数据
$('button.focus')。单击({firstName:'Test'},sayHello);
函数sayHello(事件)
{
$('div')。数据(“问候语”、“你好世界”);
警报($('div')。数据(“问候”);
警报(event.data.firstName);
}
问题的焦点不将对象传递给事件处理程序。该对象位于事件处理程序内的块中
您可以在事件处理程序之外定义对象。使用.on()
,将对象作为第二个参数传递给.on()
。在事件处理程序中调用sayHello
,并将event
作为参数
var数据={
名字:“测试”
};
$('button.focus')。在(“单击”、数据、函数(事件)上{
$('div')。数据(“问候语”、“你好世界”);
警报($('div')。数据(“问候”);
你好(活动)
});
函数sayHello(事件){
警报(event.data.firstName)
}
单击