2014-07-24 25 views
9

Tek istediğim, < kağıt girişli bir > kağıt girişinden gelen girişi alıp özel bir polimer öğesi OLMADAN OLMAYAN uyarıyla uyarmaktır.Polimer giriş değişikliği olayı

konular: değişiklik on-ı this.value için herşeyi

Pseudocode yapacak şüphe şey yapmaz: Bunu on-change won

<!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> 

cevap

6

on-*declarative event handlers Polymer tarafından sağlanan sözdizimsel şeker Bir Polimer elemanın dışında çalışın. Sen querySelector ve addEventListener kullanarak vanilya JavaScript aynı şeyi yapabilir:

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

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

Ben kağıt kaydırıcı ile çalışan ve "onchange" bir şey yapmak değil, "onchange" tetiklenen öğrendim ne İstedim. Kağıt girişi bir Polimer elemanı olduğu için, bildirimsel olay işleme ile çalışmalıdır.

+1

Onchange = "" taşıma ve ağır basan javascript olayların eski yoludur kontrol edin. Yukarıdaki cevapta addEventListener doğru. Ayrıca, on-change = "" onchange = "" ile aynı değildir. Yukarıda listelenen orijinal değişikliklerin neden çalışmadığının nedeni, şunun gibi bir şey vermeniz gerektiğidir: on-change = "{{myTestClick}}" ve kodda benimTestClick: işlevi (event, detail, sender) {alert ('merhaba'); } Onlar öğenizin uygulanmasında kullanılmak üzere tasarlanmıştır. Dışarıda değil. – David

14
OP yazarken bir değişiklik geri arama isterse bilmiyorum

... ama sadece yazarken bir değişikliklerine dinleyebilirsiniz 1.0+ Polymer için on-input yerine on-change ait "olayı"

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

<paper-input> eleman yangın 'değer' mülkiyet değişiklik olayı (non-fokurdayan DOM olay ne zaman bir 'değer' mülkiyet değişiklikler)

elemanları beyanı:

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

olay işleme: Daha fazla ayrıntı için

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

Polymer's Change Notification Events

+0

neden kağıt girişlerinde bu yer yok! Bu olay son derece önemli gibi görünüyor ve yine de belgelerinde herhangi bir yerde bulamıyorum. –

İlgili konular