【问题标题】:How to create a catch all function on a jQuery object?如何在 jQuery 对象上创建一个 catch all 函数?
【发布时间】:2011-09-30 14:36:53
【问题描述】:

我以前使用 jQuery 自动保存插件,但最近将其删除。一些代码仍在尝试使用这个函数,那么我怎样才能临时扩展 jQuery 对象,以便有一个空函数来防止错误,直到我可以通过所有尝试使用该函数的代码?

插件是这样调用的:

jQuery().autosave.restore();
jQuery().autosave.save();

我认为这是唯一存在的两个函数,所以创建两个空函数是可以的,但是有没有办法在这种类型的对象上创建一个包罗万象的函数?

注意

这是一个临时解决方案,直到我可以完成大量代码。我相信这个问题是一个有效的编码问题,即使您认为这种解决方法并不理想(它不是)。

【问题讨论】:

  • 清理代码,不要走捷径。
  • 这是一个临时解决方法
  • 你在什么环境下开发?在“jQuery().autosave.restore();”上搜索/替换和“jQuery().autosave.save();” ?
  • 代码在大型mySql数据库中序列化。根据所服务的页面,它的应用程序略有不同,我认为最好手动完成。
  • 临时变通办法往往永远存在。

标签: javascript jquery function plugins


【解决方案1】:

有办法做到这一点。您可以创建一个虚拟插件(查看 jQuery 的 documentation 创建插件):

(function( $ ){

  $.fn.autosave = {
       restore: function() {};
       save: function() {};
  };
})( jQuery );

不过,我强烈建议反对这样做。相反,您应该查看这些错误并修复它们,即阻止您的代码使用它们。否则你只是在隐藏问题。

【讨论】:

  • 这是一个临时的解决方法,直到我可以处理数千行非标准代码。
  • @cwd,如果是这样,那没关系!只要确保你确实修复这些错误。
  • +1 给出了一个很好的答案和很好的建议,除非你回来了,否则永远不要这样做!
【解决方案2】:

不。标准 JavaScript 不支持“包罗万象”的方法。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多