В своем приложении я перехватываю клики по ссылкам и превращаю их в вызовы AJAX, чтобы добиться одностраничного приложения. В jQuery это выглядит примерно так:
$('#main').on('click', 'a[href]', function(e) {
if (e.which == 2 || e.metaKey) return; // don't capture new tab clicks
/* stuff */
});
Однако недавно я начал использовать Custom Elements и Shadow DOM. Приведенный выше код не работает с тегами a
, которые находятся в теневых деревьях, поскольку событие клика перенаправляется на теневой хост.
Можно ли заставить приведенный выше код работать, чтобы перехватывать события кликов, происходящие в теневом дереве? Если нет, то как лучше всего использовать эту функциональность?
Примечание. Я использую Polymer Platform для полифилла веб-компонентов (хотя и не полностью Polymer).