javascript事件中的回调函数,用于动态创建输入

时间:2017-08-24 11:32:55

标签: javascript

我用这种方法犯了一些基本错误吗?实际更改输入框时,getAdditionalFilterCallback始终为“未定义”...当调用someFunction时,它被设置为函数...

简化示例:

function someFunction (options, selector, getAdditionalFilterCallback) {

        $(html)
          .appendTo($(selector))
          .find("input")
          .keyup(function () {
            var additionalFilter = getAdditionalFilterCallback();              
            var filters = getFilters(options, additionalFilter)
          }
    }

2 个答案:

答案 0 :(得分:0)

function someFunction (options, selector, getAdditionalFilterCallback)
{
  $(html)
    .appendTo($(selector))
    .find("input")
    .keyup(function ()
    {
      getAdditionalFilterCallback($(this));
      var filters = getFilters(options, additionalFilter)
    }
}

someFunction (options, selector, function(input)
{
  // input is the $(this) element from -> getAdditionalFilterCallback($(this));
});
getAdditionalFilterCallback 是您在 keyup 被解雇时执行的 someFunction 所称的匿名函数

答案 1 :(得分:0)

这里有很多尴尬 - 实际的函数调用更复杂,事实证明我已将函数传递给错误的参数!

感谢所有试图提供帮助的人!