javascript - 在 JavaScript 中覆盖 "private"函数

标签 javascript jquery jquery-ui patch

我正在修补一些 jQuery 的 Draggable 代码*。

目标是避免修改原始源文件和动态修补内部功能之一。

函数 _generatePosition 声明如下:

(function($) {

    $.widget("ui.draggable", $.ui.mouse, {
        ...
        _generatePosition: function(event) {
            ...
        }
    }
})(jQuery);

是否可以实现动态替换呢?


*因此它计算相对于父元素顶部的捕捉网格,而不是相对于被拖动元素的顶部。参见 here了解更多详情。

最佳答案

您可以操作单个实例:

.draggable().data("draggable")._generatePosition = function() {};

或者修改原型(prototype),影响所有实例:

$.ui.draggable.prototype._generatePosition = function() {};

关于javascript - 在 JavaScript 中覆盖 "private"函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3382230/

相关文章:

javascript - CSS 和 JQuery 在 Ajax 调用后不起作用

javascript - AWS API Gateway Websocket Api - 向所有连接的客户端广播消息

jquery - 我无法自动播放 vimeo 视频(手机)

jquery - 在 qtip 上方显示 jQueryUI 工具提示

jquery - 如何通过传递参数并覆盖我自己的回调来自定义 jquery 小部件?

jquery - 是否可以使用 Easing slideToggle 一个 div 并设置一个最小高度?

javascript - 在小部件的 javascript 加载上将数据发布到 iframe

javascript - 清除 Angular 服务中的公共(public)变量

jquery - 传单自定义图标在缩放时调整大小。性能图标 vs divicon

javascript - 文本更改时检查输入