<code>.on()</code> should be preferred to <code>.bind()</code>. The <code>input</code> event has some implementation flaws in some browsers. You might want to use the <code>eachchange</code> event the entityselector itself is using. The event is provided by the ValueView extension (<code>jquery.event.special.eachchange</code> ResourceLoader module).
In addition, you should assign a namepsace to the event, for the event getting detached automatically when destroying the widget.
<code>self.element.on( 'eachchange.' + this.widgetName, function() { ... } );</code>