Делегирование событий не работает в X-tag
Я не могу заставить делегацию работать с событиями. Я пытаюсь вызвать срабатывание определенной функции при нажатии кнопки внутри элемента. Тем не менее, когда я использую синтаксис ('tap:delegate(button)': function(){});
Я не получаю ответа. Ниже приведен пример кода, некоторая помощь будет оценена.
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');
}
}
});
1 ответ
Ваш код работает на меня. Что-то может быть загружено не по порядку. Вы можете попробовать обернуть ваш код WebComponentsReady
обработчик события:
window.addEventListener('WebComponentsReady', function () {
xtag.register('my-tag', ...);
});
Я обычно ставлю теги сценария в нижней части <body>
чтобы избежать этого.
<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>
Или если вы используете что-то вроде веб-пакета
// components/my-tag.js
var xtag = require('~lib/x-tag-core.js');
module.exports = xtag.register('my-tag', ...);