将jQuery Keypress()绑定到Polymer纸张输入

时间:2014-11-04 18:55:56

标签: javascript jquery html polymer shadow-dom

我正在使用Polymer框架来处理我正在处理的网站,我想将jQuery的keypress()绑定到Polymer <paper-input>元素。我尝试通过

直接将它绑定到元素

HTML

<paper-input id="whatever" label="Example"></paper-input>

的Javascript

$("#whatever").keypress(function(){
     console.log("It worked!");
});

我知道Polymer使用shadow DOM元素,因此<input>标记与实际<paper-input>标记分开。

一种方法类似于$("#whatever").children(),并以某种方式过滤<input>标签,但我觉得这不是Polymer的最佳做法。

不管怎样,我需要一些方法将keypress事件绑定到输入。

1 个答案:

答案 0 :(得分:0)

有点晚了,但我确实遇到了与Web组件测试人员相同的问题。事实证明,Polymer现在有一个整洁的组件铁测试助手,其中包含一个脚本mock-interactions.js

像这样使用keyEventOn:

<强>的Javascript

MockInteractions.keyEventOn(
    Polymer.dom(myEl.root).querySelector('#filter-input'), 'keypress', 13);

用键码13向带有id'filter-input'

的纸张输入发出按键事件