考虑以下示例,该示例注册onchange回调:
function appendToSaveArray(field)
{
saveArray[field.attr("id")] = field.attr("value");
}
$('#fields input').change(appendToSaveArray);
这个想法是将对多个文本输入所做的最后更改存储在一个数组中。
当我更改输入之一的值(然后将焦点切换到文档的另一个元素)时,将调用函数
appendToSaveArray
。但是,参数
field
不包含触发更改的输入元素,这是我所期望的。如何从功能
appendToSaveArray
中找出什么输入触发了事件? 最佳答案
在change
事件处理程序内,this
指为其触发事件的输入。您可以直接通过this.value
获得其值:
function appendToSaveArray()
{
saveArray[this.id] = this.value;
}
$('#fields input').change(appendToSaveArray);
DEMO。