我有几个输入,我想确保它们只是整数。较新的浏览器理解type =" number",但我们并不是生活在一个完美的世界中。因为这些字段被抛出系统中的几个地方,所以我想设计一个JQuery(使用版本1.7.1)解决方案,我可以将它们列在一个数组中,然后让它们在DOM上循环并准备好绑定。 注意其中一些输入来自AJAX请求,因此标准" on"方法不起作用。
$(document).live("keyup", "#myInput", function(){})
但是,在循环内工作正常。
上面的小提琴显示了按预期工作的元素,但改变了" .on" to" .live",或" .bind"并且该事件不再受到适当约束。
因此,为了保持我的代码清洁而不必手动绑定几十个这些元素,我怎样才能获得" .live"在循环中工作?
var arr = [
$("#myInput"),
$("#differentInput"),
$("#strangeText"),
$("#moreUniqueValues")
]
function callBack($el){
return function(){
$("div.result").text("you typed in "+ $el.selector);
}
};
$(function(){
for(var i = 0; i < arr.length; i++){
$(document).on("keyup", arr[i].selector, callBack(arr[i]));
$("div.loopText").append("<div>"+ arr[i].selector + " - has been bound </div>")
};
});