name="field"
doesn't matchPolymer('profile-field'
, but I assume that's just some kind of typo.blur
events do not bubble, so your input blurring is not going to result in ablur
event on your host element.it's best not to override
on<event>
functions, you are better off using Polymer event binding.
I'm not sure if this is actually what you are after, but here is an example that listens to blur on the input itself.
<polymer-element name="profile-field" attributes="type name value">
<template>
<label>{{name}}
<input on-blur="{{inputBlur}}" type="{{type}}" name="{{name}}" value="{{value}}">
</label>
</template>
<script>
Polymer('profile-field', {
inputBlur: function () {
console.log('input blurred');
}
})
</script>
</polymer-element>