Javascript 聚合物输入变化事件
我所希望的就是能够从聚合元素获取输入,并在更改时发出警报,而无需创建自定义聚合元素 问题: 改变什么也没用 我对此表示怀疑。价值观会起到任何作用 伪代码:Javascript 聚合物输入变化事件,javascript,polymer,Javascript,Polymer,我所希望的就是能够从聚合元素获取输入,并在更改时发出警报,而无需创建自定义聚合元素 问题: 改变什么也没用 我对此表示怀疑。价值观会起到任何作用 伪代码: <!DOCTYPE html> <html> <head><!--insert proper head elements here--></head> <body> <paper-input floatingLabel label="test" on
<!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>
on-*上的是聚合物提供的语法糖,因此on change
在聚合物元素之外不起作用。您可以使用querySelector
和addEventListener
在普通Javascript中执行相同的操作:
<paper-input floatingLabel label="test"></paper-input>
<script>
document.querySelector('paper-input').addEventListener('change', function(event) {
console.log(event.target.value);
});
</script>
document.querySelector('paper-input')。addEventListener('change',函数(事件){
日志(event.target.value);
});
我正在使用纸张滑块,发现“更改时”没有任何作用,但“更改时”触发了我想要的。因为纸质输入是一个聚合元素,所以它应该和声明性事件处理一起工作 我不知道OP在键入时是否需要更改回调…但是对于Polymer 1.0+用户可以在键入时收听更改,只需在输入时使用而不是在更改时使用“事件”
您可以使用以下语法在注释中指定自定义更改事件名称:
元素将触发'value'属性更改事件(当'value'属性更改时为非冒泡DOM事件)
要素声明:
<paper-input label="Enter search term"
on-value-changed="_onSearchTermChanged"
value="{{searchTerm}}">
有关更多详细信息,请参阅checkonchange=“”是一种处理和重写javascript事件的旧方法。以上答案中的addEventListener是正确的。此外,on change=“”与onchange=“”不同。上面列出的原始on-change不起作用的原因是,您需要给它一些类似于:on-change=“{{myTestClick}}”和代码中的do-myTestClick:function(event,detail,sender){alert('hi');}的内容,它们是从元素的实现中使用的。不在外面。为什么这不在纸上!似乎这一事件将是极其重要的,但我在其文档中的任何地方都找不到它。在3个文件中。
target-prop="{{hostProp::target-change-event}}"
<paper-input label="Enter search term"
on-value-changed="_onSearchTermChanged"
value="{{searchTerm}}">
_onSearchTermChanged: function (event) {
console.log(event.detail.value);
}