循环中的/ live / bind方法

时间:2016-12-02 16:39:39

标签: javascript jquery

我有几个输入,我想确保它们只是整数。较新的浏览器理解type =" number",但我们并不是生活在一个完美的世界中。因为这些字段被抛出系统中的几个地方,所以我想设计一个JQuery(使用版本1.7.1)解决方案,我可以将它们列在一个数组中,然后让它们在DOM上循环并准备好绑定。 注意其中一些输入来自AJAX请求,因此标准" on"方法不起作用。

$(document).live("keyup", "#myInput", function(){})

但是,在循环内工作正常。

Example fiddle

上面的小提琴显示了按预期工作的元素,但改变了" .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>")
  };
});

0 个答案:

没有答案