2014-07-24 15 views
9

Wszystko, czego chcę, to móc uzyskać dane wejściowe z elementu polimerowego < wpro wadzenie papieru > i ostrzec go ONchange BEZ tworzenia niestandardowego elementu polimerowego.Zdarzenie zmiany wejścia polimeru

kwestie: na zmiany nic nie wątpię this.value zrobi wszystko

pseudokod zrobić:

<!DOCTYPE html> 
<html> 
    <head><!--insert proper head elements here--></head> 
    <body> 
    <paper-input floatingLabel label="test" on-change="alert(this.value)"></paper-input> 
    </body> 
</html> 

Odpowiedz

6

on-*declarative event handlers cukier syntaktyczny są świadczone przez Polymer, więc on-change wonów nie działają poza elementem polimerowym. Można zrobić to samo w JavaScript używając querySelector waniliowym i addEventListener:

<paper-input floatingLabel label="test"></paper-input> 

<script> 
    document.querySelector('paper-input').addEventListener('change', function(event) { 
    console.log(event.target.value); 
    }); 
</script> 
0

Pracowałem z papieru suwakiem i okazało się, że „onchange” nic nie robi, ale „onchange” co spowodowało Chciałem. Ponieważ wejście do papieru jest elementem polimerowym, powinno działać z deklaratywną obsługą zdarzeń.

+1

onchange = "" jest starym sposobem obsługi i nadrzędnych zdarzenia JavaScript. addEventListener w powyższej odpowiedzi jest poprawna. Ponadto, zmiana = "" nie jest taka sama jak onchange = "". Powód, dla którego oryginalna zmiana wymieniona powyżej nie działa, ponieważ musisz nadać jej coś takiego: on-change = "{{myTestClick}}" oraz w kodzie do funkcji myTestClick: (zdarzenie, szczegół, nadawca) {alert ("cześć"); } Są przeznaczone do użycia w ramach implementacji twojego elementu. Nie na zewnątrz. – David

14

Nie wiem, czy PO chciała zwrotnego zmiany podczas wpisywania ... ale dla Polymer 1.0+ można słuchać zmian podczas pisania wystarczy użyć on-input zamiast on-change „event”

<paper-input label="Enter search term" on-input="search" value="{{searchTerm}}"> 
5

<paper-input> elementem będzie ogień „wartość” zdarzenie zmiana własności (non-propagacji zdarzenia DOM, gdy właściwość „wartość” zmian)

elementy deklarację:

<paper-input label="Enter search term" 
      on-value-changed="_onSearchTermChanged" 
      value="{{searchTerm}}"> 

obsługi zdarzeń:

_onSearchTermChanged: function (event) { 
    console.log(event.detail.value); 
} 

Aby uzyskać więcej informacji sprawdź Polymer's Change Notification Events

+0

dlaczego nigdzie w dokumentach wejściowych papieru! Wydaje się, że to wydarzenie będzie niezwykle ważne, ale nie mogę go nigdzie znaleźć w dokumentacji. –

Powiązane problemy