jquery:如何获取bind function 的return值

举个例子:

$("input").bind("blur",function(){
    return 1;       
    });

如何获取这个return值呢?

阅读 6k
3 个回答

如果要避免全域的話,有這些選擇:

// 把值存在 jQuery object 裡
$('input').
    blur(function(){
      $(this).data('value', value);
    });

// 或是直接把值送給下一個要觸發的事件
$('input').
    blur(function(){
      $('whatever').trigger('SomeEvent', [value]);
    });

// 或是把值遞給另一個函式
$('input').
    blur(function(){
      someFunction(value);
    });

如 Ryan Li 所说,你可以把值放到全局变量里。但是,你这样做有什么意义呢?你怎么知道那个事件回调函数刚刚被调用了并且已经设置好了它要给你的值呢?一般是直接把数据作为参数传给需要它的函数,比如:

$('input').blur(function(){
  // do some validation
  showMsg(someValue);
});

里面是一个匿名函数,你可以用一个全局变量保存起来。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进