# jQuery-Plugin erweitern: Event Listener

**URL:** <https://forum.shopware.com/t/jquery-plugin-erweitern-event-listener/34333>\
**Category:** Programmierung\
**Created:** [9. Februar 2016 um 07:34 UTC](https://forum.shopware.com/t/jquery-plugin-erweitern-event-listener/34333 "2016-02-09T07:34:35Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![daniel.sotzko](https://avatars.discourse-cdn.com/v4/letter/d/7993a0/32.png) [@daniel.sotzko](https://forum.shopware.com/u/daniel.sotzko)\
**Post date:** [9. Februar 2016 um 07:34 UTC](https://forum.shopware.com/t/jquery-plugin-erweitern-event-listener/34333/1 "2016-02-09T07:34:35Z")

</div>

Hallöchen,

ich würde mich gerne mit einem Plugin in den Registrierungsprozess einhängen und brauche dafür Javascript resp. JQuery. [Nach dem Guide](https://developers.shopware.com/designers-guide/modify-jquery-plugins/) versuche ich mich in die bestehende Funktion `init` von `jquery.register.js` einzuhängen und meine zusätzlichen Listener zu verankern. Schaut bei mir dann so aus:

```
$.overridePlugin('swRegister', {

//...

init: function () {
    var me = this,
        opts = me.opts,
        $el = me.$el;

     me.superclass.init.apply(this, arguments);

     me.$addressType = $el.find(opts.addressTypeFieldSelector);

     me._on(me.$addressType, 'click', $.proxy(me.switchAddressTypes, me));
},

//...

```

&nbsp;Das funktioniert auch soweit. Allerdings legt es mir die ‘superclass’ `swRegister` lahm. Heißt, dass anscheinend nichts erweitert sondern hart überschrieben wird. Was mache ich falsch?

---

<div class="post-metadata">

**Author:** ![daniel.sotzko](https://avatars.discourse-cdn.com/v4/letter/d/7993a0/32.png) [@daniel.sotzko](https://forum.shopware.com/u/daniel.sotzko)\
**Post date:** [9. Februar 2016 um 08:23 UTC](https://forum.shopware.com/t/jquery-plugin-erweitern-event-listener/34333/2 "2016-02-09T08:23:00Z")

</div>

Ich hab den Fehler gefunden. Ich ging der Annahme, dass man `_defaults_` auch erweitern könnte, wenn man mit `_overridePlugin_` arbeitet. **Falsch!&nbsp;** So sieht es jetzt aus und läuft:

&nbsp;

```
$.overridePlugin('swRegister', {

//...

init: function () {
    var me = this,
        opts = me.opts,
        $el = me.$el;

     me.superclass.init.apply(this, arguments);

     me.$addressType = $el.find('.register--addresstype-switch');

     me._on(me.$addressType, 'click', $.proxy(me.switchAddressTypes, me));
},

//...

```

&nbsp;
