【问题标题】:jquery object executing object's assigned functionjquery 对象执行对象的分配功能
【发布时间】:2013-02-11 23:24:43
【问题描述】:

这是一个简化版。

如果我这样做:

var object = [{name:"bob", type:"silly", hair:"brown", func:someFunction},
              {name:"greg", type:"serious", hair:"blonde", func: differentFunction}]; 

$('#thing').bind("click", object[0], handleTranslator);

function handleTranslator(e){
    $([e.data.func]);
}

function someFunction(){
    console.log("clicking bob should trigger this function");
}

function differentFunction(){
    console.log("clicking greg should trigger this function");
}

当我点击#thing 时,它应该会触发someFunction,但它不会。不知道为什么。

理想情况下,我还希望能够从someFunction 内部查看(console.log)我的对象[0]。

感谢您的帮助。

【问题讨论】:

  • 你的 HTML 是什么样的?
  • @AlienWebguy 这是一个简化的例子。
  • @ExplosionPills #thing 已经在 dom 中了
  • 我假设 $([e.data.func]);是什么问题。其他一切似乎都很好。
  • 为什么要将函数包装在$() 中?

标签: javascript jquery function object


【解决方案1】:

你没有调用你的函数:

function handleTranslator(e){
    e.data.func();
}

演示:http://jsfiddle.net/CEdvt/

【讨论】:

  • Uncaught TypeError: Property 'func' of object # 不是函数
  • 这行得通...我最初尝试过,但我认为我的函数引用如下:“differFunction”TY
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多