2016-10-26 3 views
0

Я хотел бы расширить функцию паузы в slick. https://github.com/kenwheeler/slick/blob/master/slick/slick.js#L1590Как я могу расширить функцию карусели Slick?

Вот то, что я до сих пор, но я не могу получить доступ к функции паузы с $ .fn.slick.prototype.pause;

(function ($) { 
    var _original = $.fn.slick.prototype.pause; 

    function trigger(target, name, relatedTarget) { 
    target.trigger($.Event(name, { relatedTarget: relatedTarget })); 
    } 

    $.extend($.fn.slick.Constructor.prototype, { 
    pause: function() { 
     console.log("bleh") 
    } 
    }); 
})(jQuery); 

В любом случае я мог бы это сделать?

ответ

1

Если вы посмотрите на конец исходного кода, вы увидите, что открытая функция JQuery на самом деле не является объектом Slick, а функцией, использующей его.

Насколько я понимаю это, я бы сказал, что вы хотите расширить, заключен в недоступное закрытие, которое дает ответы, такие как this one неосуществимым.

+0

arg, ладно спасибо! Любые причины плагинов делают это? Я получаю, что они хотят защитить свой плагин, но позвольте мне сделать то, что я хочу с ним ... например, bootstrap позволяет нам возиться с ним. – Stephen

+0

Я бы не стал так смел, чтобы предположить причину, которая заставила их создать свой плагин таким образом :) Вы всегда можете попробовать спросить создателя самостоятельно: https://github.com/kenwheeler. Если вы в конечном итоге получите решение своей проблемы, вы можете опубликовать его в качестве принятого ответа здесь. –

+0

Можете ли вы объяснить немного более открытую функцию jQuery? Я не совсем понимаю, как обнаружить плагин, который позволит нам расширить его. – Stephen