如何将这些方法与类似的功能结合起来?

时间:2011-11-07 19:56:08

标签: javascript

它们都是类似的...所以我只需要编写一个方法来传递内部方法

/*
Bind
These functions enable or disable user keystrokes 
*/

function bind_bm(event) // binds enter key for adding a bookmark
  {
  if(event.keyCode==13)
    {
    i_bm_add();
    return false;
    }
  }
function bind_tweet(event) // binds enter key for adding a tweet
  {
  if(event.keyCode==13)
    {
    interface_tweet();
    return false;
    }
  }
function bind_si(event) //binds enter key for signing in
  {
  if(event.keyCode==13)
    {
    interface_si();
    return false;
    }
  }
function bind_fu(event) // disables enter key for file uploads 
  {
  if(event.keyCode==13)
    {
    return false;
    }
  }

1 个答案:

答案 0 :(得分:2)

function bind_si(event) {
    bind_something(event, interface_si);
}

function bind_something(evt, callback) {
    if(event.keyCode==13)
    {
        callback();
        return false;
    }
}

修改

你也可以这样做:

function mkBind(callback) {
    return function(event) {
        if (event.keyCode == 13) {
            callback();
            return false;
        }
    };
}

然后你可以做这样的事情:

siObj.click(mkBind(interface_si));