Cytat(Crozin @ 10.05.2014, 14:36:12 )

To jest jedynie definicja funkcji o nazwie onClick - sama nazwa nie ma żadnego specjalnego znaczenia. Zapewne w innym miejscu kodu JS, a być może bezpośrednio w HTML-u występuje użycie/wywołanie tej funkcji.
No właśnie też na to wpadłem, ale stworzyłem tutaj ten temat, bo w kodzie niżej nie mogę się doszukać fragmentu, który mówi właśnie o kliknięciu. Wszystko co przeczytałem powoduje jedynie zamianę kolorów.
(function($) {
$.fn.changeColor = function(options) {
//metoda prywatna
function onClick(event) {
//ciało metody prywatnej
$this = $(this);
data = $this.data("changeColor");
data.first = !data.first;
$this.css("background-color",
data.first ? data.colorSecond : data.colorFirst);
return true;
}
//metody publiczne
var methods = {
swapColors: function() {
//wystawiona metoda
$this = $(this);
data = $this.data("changeColor");
tmp = data.colorSecond;
data.colorSecond = data.colorFirst;
data.colorFirst = tmp;
},
destroy: function() {
//destruktor
$this = $(this);
$this.unbind("click");
$this.css("background-color","");
$this.removeData("changeColor");
}
};
return this.each(function() {
//ciało naszego pluginu
if(methods[options]){
//wywołana metoda publiczna
return methods[options].apply( this, arguments );
}
else if (typeof options === 'object' || ! options ){
//wywołany konstruktor
var settings = $.extend( {
colorFirst : 'Red',
colorSecond: 'Green'
}, options);
//inicjalizacja pluginu
$this = $(this);
data = $this.data("changeColor");
if(!data)
{
data = $this.data("changeColor", settings);
$this.bind("click", onClick);
}
$this.css("background-color", settings.colorFirst);
data.first = true;
return;
}
else{
//bład
$.error('changeColor: no method: '+ options);
}
});
}
})(jQuery);
Przepraszam najmocniej, ale już znalazłem to o co mi chodziło. Jakby ktoś podobny do mnie nowiciusz miał z tym kłopot, to chodzi ten fragment kodu:
$this = $(this);
data = $this.data("changeColor");
if(!data)
{
data = $this.data("changeColor", settings);
$this.bind("click", onClick);
}