![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
Załóżmy że mam listę <ul id="lista"> i podczepiony do niej obiekt jQ. $('ul#lista'). Czy możliwe jest dodanie metod do wyłącznie tej instancji obiektu jQuery czy muszę albo w standardowy sposób utworzyć nowy plugin do jQ albo utworzyć klasę adaptera która będzie agregowała obiekt jQuery i implementowała potrzebne mi metody? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Niby jest możliwe: http://jsfiddle.net/27t3y/ (niewykonanie się drugiego aletra spowodowane jest błędem - brakiem funkcji doSth dla obiektu) ale nie powinieneś robić czegoś takiego. Opcja z adapterem jest znaczenie lepsza.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Tak też sobie właśnie pomyślałem i zabrałem się za implementacje, ale natknąłem się na pewien problem. Mianowicie jak utworzyć tą klasę z zewnątrz żeby można było ją przekazać do pluginu jako parametr?
Kod (function($) { function MyClass($jQ_HTML) { } $.fn.MyPlugin = function($MyClass) { } })(jQuery); Umieszczenie definicji klasy w zasięgu globalnym jest niezgodne z zasadami, więc pozostaje utworzenie jakiejś funkcji która będzie tworzyć obiekt MyClass. Chciałem utworzyć statyczną metodę $.fn.MyPlugin.createMyClassInstance() ale zda się że tak nie można. :/ Jakieś rady albo pomysły? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 01:37 |