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 № 1jQuery " 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:
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.