Pertanyaan Memperluas fungsi jQuery yang ada


Saya mencoba menulis plugin yang akan memperpanjang fungsi yang ada di jQuery, mis.

(function($)
{
    $.fn.css = function()
    {
        // stuff I will be extending
        // that doesn't affect/change
        // the way .css() works
    };
})(jQuery);

Hanya ada beberapa bit saya perlu memperpanjang .css() fungsi. Ingatkan saya untuk bertanya, saya berpikir tentang kelas PHP semampu Anda className extend existingClass, jadi saya bertanya apakah mungkin untuk memperpanjang fungsi jQuery.


37
2018-02-15 17:41


asal


Jawaban:


Tentu ... Simpan saja referensi ke fungsi yang ada, dan panggil:

(function($)
{
    // maintain a reference to the existing function
    var oldcss = $.fn.css;
    // ...before overwriting the jQuery extension point
    $.fn.css = function()
    {
        // original behavior - use function.apply to preserve context
        var ret = oldcss.apply(this, arguments);

        // stuff I will be extending
        // that doesn't affect/change
        // the way .css() works

        // preserve return value (probably the jQuery object...)
        return ret;
    };
})(jQuery);

73
2018-02-15 17:45



Peter Errikson menulis kode yang sangat berguna di memperluas jQuery dengan dua acara baru, onShow dan onHide dengan contoh kode jsfiddle ...

saya suggesst membaca artikel itu ... terlihat sangat bagus :)


0
2017-09-14 08:28