2016-04-14 3 views
0

Ich kann keine Delegierung für die Arbeit mit Ereignissen erhalten. Ich versuche eine bestimmte Funktion auszulösen, wenn eine Taste innerhalb des Elements gedrückt wird. Wenn ich jedoch die angegebene Syntax verwende ('tap:delegate(button)': function(){});), erhalte ich keine Antwort. Unten ist ein Beispielcode, einige Hilfe wäre willkommen.Ereignisdelegierung funktioniert nicht im X-Tag

HTML: 
<my-tag></my-tag> 

Js: 
xtag.register('my-tag', { 
content: '<span>Some Text</span><button>my button</button>', 
events: { 
'tap:delegate(button)': function(){ 
    console.log('the button was pushed'); 
} 
} 
}); 

Antwort

0

Ihr Code funktioniert für mich. Etwas könnte außer Betrieb geraten. Sie könnten versuchen, Ihren Code mit einem WebComponentsReady Ereignishandler Verpackung:

window.addEventListener('WebComponentsReady', function() { 
    xtag.register('my-tag', ...); 
}); 

ich in der Regel die Script-Tags am unteren Rand des <body> dies zu vermeiden setzen.

<body> 
    <my-tag></my-tag> 

    <script src="lib/x-tag-core.js"></script> 
    <script src="components/my-tag.js"></script><!-- xtag.register('my-tag', ...) --> 
</body> 

Oder wenn Sie mit so etwas wie webpack

// components/my-tag.js 

var xtag = require('~lib/x-tag-core.js'); 

module.exports = xtag.register('my-tag', ...);