我有这个小代码。我正在使用Prototype框架,但我无法将元素绑定到回调函数。这就是为什么我必须写这样的函数。
我该如何改进此代码?
Event.observe('firstname', 'keyup', function () {
var form = $('customerform'),
firstname_0 = form["firstname_0"];
firstname.value = this.value;
});
Event.observe('KundeNachname', 'keyup', function () {
var form = $('customerform'),
lastname_0 = form["lastname_0"];
lastname_0.value = this.value;
});
答案 0 :(得分:1)
$('customerform')['lastname_0'].value = this.value;
这会将您的三行代码压缩为一行。
答案 1 :(得分:1)
每个回调之间的唯一区别是引用的表单字段的名称。我将该代码提取到一个通用的回调创建函数中:
function createHandler(fieldName) {
return function() {
$('customerform')[fieldName].value = this.value;
}
}
Event.observe('firstname', 'keyup', createHandler("firstname_0"));
Event.observe('KundeNachname', 'keyup', createHandler("lastname_0"));