Co oznacza .data? - jquery

var linkVar = { message:"Hello from a link"};
var pVar = { message:"Hello from a paragraph"};
function showMessage(evt) {
alert(evt.data.message);
}
$("a").bind("click",linkVar,showMessage);
$("p").bind("mouseover",pVar,showMessage);

Wiem, jak działa funkcja bind (). Czego nie rozumiem, to następująca część:

alert(evt.data.message);

Skąd bierze się ta funkcja .data (czy cokolwiek to jest)? Czy to tylko standardowy sposób odwoływania się do właściwości komunikatu obiektu?

Odpowiedzi:

3 dla odpowiedzi № 1

jQuery " bind() powinien zostać zastąpiony przez on() teraz, ale w tym przypadku tak naprawdę nie ma znaczenia, argumenty są takie same

.bind( eventType [, eventData ], handler )

temu eventData argument jest opcjonalny i po prostu przekazuje dane do wywołania zwrotnego, po prostu, jak Twój przykład pokazuje, że nie.

Jest to konkretne jQuery i coś, że s"dodany do sposób bind/on działa, aby móc przekazać dane do wywołania zwrotnego.

To "s nie bardzo często używane, ale to jest przydatne, aby być w stanie przekazać dane statyczne do funkcji wywołania zwrotnego w czasie.

Tutaj "s inny przykład

$(element).on("click", {optional : "data"}, function(e) {

console.log( e.data.optional ); // outputs "data"

});

0 dla odpowiedzi nr 2

Yeap, jest częścią eventInfo obiekt z powiązania wywołania zwrotnego.Tam widać taka sama:

http://api.jquery.com/bind/

wprowadź opis obrazu tutaj


0 dla odpowiedzi № 3

Z documetnation jQuery dla bind()

.bind( eventType [, eventData ] [, preventBubble ] )

eventType Wpisz: String

Ciąg zawierający jeden lub więcej DOM zdarzenie typów, takich jak "kliknij" lub "Wyślij" lub nazwy zdarzenia niestandardowego.

eventData Typ: nic

Obiekt zawierający dane, który zostanie przekazany do programu obsługi zdarzeń.

preventBubble Typ: wartość logiczna

Ustawienie trzeci argument false spowoduje to dołączenie funkcji, która zapobiega domyślnej akcji występowaniu i zatrzymuje zdarzenie z propagacji.Wartością domyślną jest true.

Tak, podczas przekazywania danych bind Metoda (drugi parametr) jest on dostępny na obiekt zdarzenie jako Data właściwość.

event.data

Opis: Obiekt opcjonalny danych przekazany do metody zdarzenia, gdy bieżący realizowanej obsługi jest związany.