作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有几个验证函数,我想向数组中的每个元素添加事件。
var items=[
"metraz_od",
"metraz_do",
"cena_za_metr_od",
"cena_za_metr_do",
"cena_od",
"cena_do",
"pietro_min",
"pietro_max",
"rok_budowy_od",
"rok_budowy_do",
"ilosc_pieter_od",
"ilosc_pieter_do",
"minimalna_wysokosc"
];
var items_float=[
"cena_tys"
];
function add_events(array, event, function_name){
for(var i=0; i<array.length; i++){
(function(e){
console.log("W funkcji "+array+" | "+event+" | "+function_name+" | ");
document.getElementsByName(items[e])[0].addEventListener(event, function() {
function_name(array[e])
})
})(i);
}
}
add_events(items,"keyup","validate_numb");
但它不起作用,可能是因为使用函数名称(字符串)作为函数参数(函数 add_events)——我想我不能那样做 :D
我还能做什么?
编辑:这是那个函数:
function validate_numb(name){//argumentem jest nazwa pola
var input = document.getElementsByName(name)[0].value;
var parsed_input = parseInt(input);//wartosc pola zamieniana na liczbe całkowitą
if(isNaN(parsed_input) || parsed_input<0 || input!=parsed_input){
document.getElementsByName(name)[0].value="";
console.log("Validation of "+name+" failed");
return false;
}else{
return true;
}
}
最佳答案
您需要传递函数的引用,而不是函数名。所以:
add_events(items,"keyup", validate_numb);
- 不带引号
不
add_events(items,"keyup", "validate_numb");
关于javascript - Unbreak my code - 如何在 javascript 的另一个函数中使用函数名作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37701812/
我是一名优秀的程序员,十分优秀!