我如何正确使用bind()?

时间:2011-11-09 00:36:30

标签: javascript

  

可能重复:
  How do I pass arguments to bound methods

如何在此实例中使用bind()。 我需要绑定一个函数...但下面的代码调用它。我如何使用bind()。我阅读了MDN文档,但没有意义。

bind_enter_key和bind_file_upload是我写的方法。

mdn documentation on bind

m5('signin_pass',bind_enter_key(event,interface_signin)); // this does not work
m5('upload_file',bind_file_upload);

// just a minimzer

function m5(a,b)
  {
  return document.getElementById(a).onkeypress=b;
  }

1 个答案:

答案 0 :(得分:2)

哇,你真的以两种不同的方式使用bind让你感到困惑(一个在你的函数名中,一个在你想要对该函数执行的操作中)。

m5('signin_pass', bind_enter_key.bind(null, event, interface_signin));

请注意,您似乎通过这样做绑定到window.event的当前值,这可能是一个可怕的想法。更好的可能是

m5('signin_pass', function (event) {
    return bind_enter_key(event, interface_signin);
});