Polymer input change event

匿名 (未验证) 提交于 2019-12-03 02:49:01

问题:

All I want is to be able to get the input from a polymer element <paper-input> and alert it onchange WITHOUT creating a custom polymer element.

issues: on-change doesn't do anything I doubt this.value will do anything

Pseudocode:

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

回答1:

I don't know if the OP wanted a change callback while typing...but for Polymer 1.0+ one can listen to the changes while typing simply use the on-input instead of on-change "event"

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


回答2:

The on-* declarative event handlers are syntactic sugar provided by Polymer, so on-change won't work outside of a Polymer element. You can do the same thing in vanilla Javascript using querySelector and addEventListener:

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


回答3:

<paper-input> element will fire 'value' property change event (a non-bubbling DOM event when a 'value' property changes)

elements declaration:

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

event handling:

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

For more details check Polymer's Change Notification Events



回答4:

You can specify a custom change event name in the annotation using the following syntax https://www.polymer-project.org/1.0/docs/devguide/data-binding.html#two-way-native :

target-prop="{{hostProp::target-change-event}}" 


回答5:

I was working with paper-slider and found out that the "on-change" doesn't do anything, but "onchange" triggered what I wanted. Since paper-input is a Polymer element, it should work with the declarative event handling.



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!