2014-11-04 4 views
0

Я использую фреймворк Polymer для сайта, над которым я работаю, и я хочу связать keypress() с jQuery с элементом Polymer <paper-input>. Я попытался его связывания непосредственно к элементу, с помощьюBind jQuery Keypress() to Polymer paper-input

HTML

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

Javascript

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

Я знаю о том, что полимер использует теневые элементы DOM и т.д. тэг <input> отдельно от фактического тега <paper-input>.

Один подход был бы чем-то вроде $("#whatever").children() и каким-то фильтром для метки <input>, но я чувствую, что это не лучшая практика для Полимера.

В любом случае, мне нужен способ привязки этого события нажатия на ввод.

+0

jsfiddle please – myfunkyside

+0

Я не уверен, что jsFiddle поддерживает тень DOM/Polymer? – Aeolingamenfel

+0

В левом меню вы можете ссылаться на внешние ресурсы. (Должен признаться, что я никогда не использовал Polymer, но я полагаю, что он работает, как любая библиотека HTML/JS) – myfunkyside

ответ

0

Немного поздно, но у меня были те же проблемы с тестером веб-компонентов. Оказывается Polymer теперь имеет аккуратный компонент железодефицитной тест-хелпер, который содержит скрипт макета interactions.js

Использование keyEventOn как так:

Javascript

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

для стрельбы в нажатии клавиши событие с кодом ключа 13 на бумажный ввод с идентификатором «фильтр-вход»