Piszę niestandardową wtyczkę jQuery, która zasadniczo odtwarza funkcjonalność danych wejściowych. Mógłbym wyjaśnić, dlaczego, ale zgodnie z prawdą wyjaśnienie jest dość długie i uważam, że nie ma to znaczenia dla pytania.Rozszerzanie metody .val() jQuery do elementów bez wprowadzania danych.
Problem pojawia się, gdy próbuję rozszerzyć metodę .val() jQuery na moją niestandardową wtyczkę jQuery. Oto, co próbowałem:
$.fn.custom_text_input = function(options){
return this.each(function(){
var custom_text_input = new CustomTextInput(options, this)
$(this)[0].val = function(){
alert('something useful')
}
})
}
Ive próbował kilka innych odmian tego, wszystkie bez skutku. Jeśli ktokolwiek ma jakieś pomysły, które będą działać, bardzo bym docenił mądrość!
Dzięki!
nie powinien definicja funkcji iść w definicji CustomTextInput? –
Chcę móc wywoływać go z dowolnego miejsca za pomocą selektora jquery. przykład: $ ('# div'). custom_text_input(), a następnie gdzieś indziej w moim kodzie $ ('# div'). val() –
BTW, '$ (this) [0]' jest takie samo jak 'this' . Podczas tworzenia obiektu jQuery w tym obiekcie jQuery znajduje się tablica elementów DOM z zerowym indeksem. Więc kiedy wejdziesz do pierwszego indeksu (zero), otrzymasz pierwszy element. – Jasper