我如何为jQuery方法添加功能?

时间:2014-09-01 23:25:40

标签: javascript jquery

如何为jQuery方法添加功能?例如,在元素(hide<a>或其他内容)上使用<p>时:

HTML

<a href="#">click me</a>

的jQuery

$("a").hide()

我尝试创建一种插件,但我希望保留原生功能,然后添加更多。

jQuery.fn.extend({
    hide: function () {
        alert("hidden element: " + $(this));
    }
});

1 个答案:

答案 0 :(得分:4)

当然,最简单的方法是给它一个不同的名称。如果您真的不想这样做,可以保留对原始方法的引用,然后使用this传递Function.prototype.apply和任何收到的参数:

var originalHide = jQuery.fn.hide;

jQuery.fn.hide = function () {
    alert('hidden element: ' + this); // == $(this); neither is meaningful
    return originalHide.apply(this, arguments);
};