我可以替换或修改 jQuery UI 小部件上的函数吗?如何? (猴子补丁)

2023-11-23

如果我想通过替换其中一个函数来调整 jQuery UI 对象的某些功能,我该怎么做呢?

示例:假设我想修改 jQuery 自动完成小部件呈现建议的方式。自动完成对象上有一个方法,如下所示:

_renderItem: function( ul, item) {
    return $( "<li></li>" )
        .data( "item.autocomplete", item )
        .append( "<a>" + item.label + "</a>" )
        .appendTo( ul );
},

我可以更换这个吗?

我想这可能会被称为猴子补丁.

如何?我会使用什么语法?


我不了解 jQuery UI,但一般来说,这就是重新定义函数的方式:

(function() {
   var _oldFunc = _renderItem;

   _renderItem = function(ul,item) {
      // do your thing
      // and optionally call the original function:
      return _oldFunc(ul,item);
   }
})();

将其包装在匿名函数中的原因是为了创建一个闭包来存储原始函数。这样它就永远不会干扰全局变量。


EDIT
要对 jQuery UI 小部件上的 fn 执行此操作,请使用以下语法:

仅供参考:获取该功能的方式是这样的:

function monkeyPatchAutocomplete() { 

  // don't really need this, but in case I did, I could store it and chain 
  var oldFn = $.ui.autocomplete.prototype._renderItem; 

  $.ui.autocomplete.prototype._renderItem = function( ul, item) { 
     // whatever
  }; 
} 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以替换或修改 jQuery UI 小部件上的函数吗?如何? (猴子补丁) 的相关文章

  • AngularJS 输入字段未从控制器内的 setTimeout 更新

    我正在使用 AngularJS 支持的页面 并且我需要在只读输入文本字段内显示正在运行的时钟 与data ng model 为了模拟运行的时钟 我使用了 JavaScript 调度程序setTimeout每 1000 毫秒调用一个函数 该函
  • 如何模板化 Select2 的预选值

    我预先选择的值Select2 https select2 org如下所示 function formatState state console log state text2 I found undefined here console l
  • 向特定客户端发送消息以及消息发送用户

    我是 SignalR 的初学者 我创建了一个基于 SignalR 的基本聊天应用程序 我面临的问题是我想向特定客户端以及发送消息的用户发送消息 这个怎么做 我知道要向特定客户端发送消息 我们可以这样做 Clients Client Cont
  • jquery:选择xpath或将xpath转换为css?

    我需要基于 xpath 选择 或者将 xpath 转换为 css 有插件或者内置功能吗 ex html body div a 4 each 并非所有 xpath 表达式都可以转换为类似 CSS 的选择器 或者不能有效地工作 您可以使用 eq
  • 正则表达式以任何顺序匹配查询中的所有单词

    我正在尝试为一个项目构建一个搜索功能 该功能根据用户搜索输入以及它是否与针对项目列出的关键字匹配来缩小项目范围 为此 我将项目关键字保存在data属性并使用 RegExp 模式将查询与这些关键字进行匹配 我目前正在使用这个表达式 我知道它不
  • 使用 jquery 显示/隐藏特定类的内容

    我是 jquery 的新手 也许这是一个愚蠢的问题 但我几乎到处都在寻找答案 但没有找到 那么 我们开始吧 我想根据我在下拉表单中选择的选项来显示不同的内容 正如我在 StackOverflow 上了解到的 您可以使用更改函数来执行此操作
  • jquery中文本区域自动调整大小

    我怎样才能做一个
  • 如何使用 php 发送服务器错误响应?

    一旦用户点击删除按钮我的 jQuery 脚本要求服务器删除所选项目 现在我想要我的php发送成功或错误响应的脚本 是否有可能触发错误回调万一该项目无法删除 Thanks 我的 jQuery 代码 ajax type post url myA
  • 了解设置 JQuery 变量

    了解设置 JQuery 变量 最近 我通过在 StackOverflow 上遇到的另一个问题寻找帮助 了解到如何设置 JQuery 变量 如下所示 您可以通过简单地调用变量来创建输入字段 并且锚变量似乎也定义了样式 var clicked
  • Rails 4 可安装引擎,找不到文件“jquery”

    我正在创建一个 Rails 可安装引擎插件 它使用 gem jquery rails 我在 gemspec 文件中添加了这段代码 s add dependency jquery rails gt 3 0 1 and run bundle i
  • 物化模式覆盖整个页面(模式弹出窗口未带到前台)

    由于保密原因 我无法上传 Web UI 的屏幕截图 物化模态应该表现得像here http materializecss com modals html 但不幸的是 我的网站发生的情况是 包括模式在内的整个页面都是 深色背景 的一部分 模式
  • 如何在 jQuery 中获取 ul 列表中 li 的第一个 href 链接

    我有以下清单 ul class tabs li a href testlink php First link a li li a href testlink2 php Second link a li ul 我想获取第一个链接的 href
  • jQuery 可以在用户输入数字时添加逗号吗?

    当用户输入数字时 如何动态添加逗号 有没有一个好的数字格式化程序可以提供帮助 我必须稍后添加这些数字 所以我最终必须删除一行中的逗号 但屏幕需要显示逗号以提高可读性 运行代码片段以查看其工作情况 input number keyup fun
  • 如何以编程方式处理 JqGrid 事件?

    我正在使用JqG rid 的 ASP NET 包装器 http www trirand net demoaspnet aspx 我想以编程方式连接一些网格的处理程序events http www trirand com jqgridwiki
  • 动态地将工具提示文本设置为 div 元素

    我正在尝试动态地将工具提示文本设置为容器 div 并对我刚刚添加到有序列表的每个 div 元素 elem Alias Status 使用 jQuery function addNewElement elem var li li li li
  • 将div设置为隐藏,延时后可见

    我试图在 X 时间后 也许甚至在随机时间之后 但现在我们只做固定时间 在黑色背景上出现一个黄色方块 function initialSetup if document getElementById yellow null document
  • 如何使用 JQuery 动态排序

    如果我有一个下拉列表和一个列表框 有没有办法使用 JQuery 根据下拉列表对列表框进行排序 举个例子会很有帮助 这会改变下拉菜单中的顺序 您必须根据自己的标准设置顺序
  • 如何仅在最后一个
  • 处给出透明六边形角度?
  • 我必须制作这样的菜单 替代文本 http shup com Shup 330421 1104422739 My Desktop png http shup com Shup 330421 1104422739 My Desktop png
  • 在 ASP.NET Core MVC 中访问从视图到控制器的隐藏值

    我需要帮助使用 jQuery 从 ASP NET Core razor 视图页面传递隐藏控件值 jQuery 用于获取动态控件选定的值 section scripts
  • fullCalendar 未显示正确的结束日期

    我正在看调试页面 http jsbin com wukofacaxu edit js outputFullCalendar 官方网站的 我想安排一个活动时间为 22 09 2015 至 30 09 2015 dd mm yyyy 但它只显示

随机推荐

  • Pyramid 中可以有多个 ini 配置文件吗?

    我想要一个相当于姜戈一真道设置布局 一个共享基础文件 然后是生产文件和开发文件 每个文件都导入共享基础文件 Pyramid 的配置可以实现这一点吗 是的 这是可能的 在我的一个项目中 我有一个production base ini文件和所有
  • 使用 Xcode 在 MacOS X 上安装 GMP

    我正在尝试在我的 C 和 C 程序中使用 GMP 库 我使用 Xcode 编写代码 我按照说明在我的计算机上安装了 GMP 最终得到了一个文件夹 usr local gmp 5 0 5 其中包含 gmp h 文件 我怎样才能让我的程序看到这
  • ZXing Barcode Reader:如何在捕获屏幕周围制作自定义边框?

    我想在 zxing 捕获屏幕 相机屏幕 周围放置自定义边框 我需要为此进行什么修改 我需要更改哪些活动和布局才能达到此效果 您根本不需要编辑布局 In ViewfinderView find onDraw方法 它是绘制 扫描矩形 的核心 您
  • Forecast.io API 与 jQuery 的结合使用

    我在使用 API 特别是 Forecast io 天气 API 创建完整的应用程序时遇到一些问题 为简单起见 我将 JS 直接放在 HTML 页面中 对于这个基本版本 我很高兴能有这样的展示 假设我想要当前温度 当前 gt 温度 另外 我不
  • 在 Django 中引用来自 Javascript 的静态图像

    所以我正在开发一个 Django 项目 并试图找出如何让 Javascript 能够从我的静态目录渲染图像 我修改了 settings py 以从 myproject static 加载静态文件 图像 js 等 并从 myproject t
  • 绑定不匹配错误和java泛型方法

    我收到以下错误 Bound mismatch The generic method constructPage WebDriver int Class
  • RStudio 项目打开时自动运行 R 代码

    我编写了一个 R 函数来更新包的版本号另一个问题 我经常使用 GitHub 和 RStudio 如果每次我打开某个项目时都会自动运行此函数 或者更好的是进行 git commit push 但我认为这更难做到 但我不知道该怎么做或者这是否可
  • 401 未找到 JWT 令牌

    我提供了两个版本security yaml文件 第二个版本根据API平台文档 API平台发送到创建自定义用户提供者 对于第二个选项security yaml根据 API 平台文档推荐 我需要创建两个额外的文件 我没有将它们附加到主题中 但如
  • 如何在 Joomla 2.5 中获取用户组名称

    我正在编写一个 Joomla 2 5 组件 我一直在 Joomla 1 7 中开发该组件 我一直在使用这样的代码 user JFactory getUser groups user gt get groups groups 数组将包含一个以
  • $@ 和“$@”有什么区别吗? [复制]

    这个问题在这里已经有答案了 有什么区别吗 and 我知道非特殊字符可能存在差异 但是 用输入参数签名 Yes cat a sh echo echo 让我们运行一下 a sh 2 3 4 5 2 3 4 5 output for 2 3 4
  • 如何使用透明背景的画布获取 CSS 样式元素的 png 图像?

    我想使用 CSS 为网页上的元素设置样式 然后将该元素用作静态 png 是否可以在例如上绘制html节点 画布并将此类透明图像保存到文件中 我想找到一种方法 使用 CSS 获取现有的 HTML 并将其渲染为 PNG 文件并保持透明度 将 H
  • clang++ -stdlib=libc++ 导致未定义的引用

    为什么在将 clang 与 libc 一起使用时出现以下链接器错误 clang stdlib libc po cxx lpoppler tmp po QqlXGY o In function main po cxx text 0x33 un
  • 仅对 UITableView 中可用的 CellForRow 显示分隔符

    我正在将 UITableView 与自定义单元格一起使用 它工作正常 但问题是当 UITableView 中只有一两个单元格时 它还为空电池提供了分隔符 是否可以仅为使用自定义单元格加载的单元格显示分隔符 您需要添加一个空页脚视图来隐藏表中
  • 如何从多个 template_folder 加载 Flask 蓝图?

    我学习了如何创建 Flask 蓝图 并且可以为使用 Jinja2 模板的非 Flask 产品创建蓝图并在 Flask 项目中使用它们 我做了这样的事情 blueprint code from flask import Blueprint f
  • 如何在没有 jQuery 的情况下切换元素可见性?

    我正在为 eBay 编写一个拍卖模板 希望 eBay 能够允许 显然他们没有 因为 jquery 有 string replace 等东西 该代码非常基础 document ready function function changeIma
  • Pandas Dataframe选择多个不连续的列/切片

    我有超过 100 列的数据框 我正在尝试选择第 0 32 列和 83 列 看来 1 slice 与下面的代码配合得很好 df new df df columns 0 32 但它不适用于下面的 2 片代码 我该如何解决这个问题 df new
  • 更改 ComboBox 项目的格式

    是否可以在 C 中格式化 ComboBox 项 例如 如何将某个项目设为粗体 更改其文本的颜色等 尽管这篇文章很老 我发现它作为搜索的起点很有用 但最终使用所示的方法得到了更好的结果here由 保罗 这是我用来有条件地使组合框中的项目显示为
  • 如何为 httpclient getasync 方法创建模拟?

    我正在使用 Moq 为单元测试创 建模拟 但是当我必须为 httpclient 的 getasync 方法创建模拟时 我陷入了困境 以前我使用 SendAsync 方法 为此我可以使用以下代码 var mockResponse new Ht
  • 从word文档中提取标题文本

    我正在尝试提取text来自 MS Word 文档 docx 文件 中的 任何级别 标题 目前我正在尝试解决使用python docx 但不幸的是 读完后我仍然无法弄清楚它是否可行 也许我错了 我尝试在网上寻找解决方案 但没有发现任何适合我的
  • 我可以替换或修改 jQuery UI 小部件上的函数吗?如何? (猴子补丁)

    如果我想通过替换其中一个函数来调整 jQuery UI 对象的某些功能 我该怎么做呢 示例 假设我想修改 jQuery 自动完成小部件呈现建议的方式 自动完成对象上有一个方法 如下所示 renderItem function ul item