D3 Zoom and Ionic popover

I have a Cordova/Ionic app that uses D3 to visualise the data.

I use D3 zoom functionality to pan the data left and right

    var zoomListener = d3.behavior.zoom()
        .scaleExtent([1, 1])
        .x(xScale)
        .on("zoom", function() {
              ...
              ...
        });

    var svg = d3.select("#animation-container")
        .append("svg")
            .attr("id", "ecogram")
            .attr("width", options.width)
            .attr("height", options.height)
            .call(zoomListener)
            .append("g")
                .attr("transform", "translate(" + options.margin.left + "," + options.margin.top + ")");

I can add ionic popover functionality on click and on-hold event listeners to components outside the SVG panning with no problem such as:

    <h1 on-hold="openPopover($event)">Open Popover</h1>

But when I add them to the SVG with D3 like the code below then the event doesn't fire.

        xAxisGroup = svg.append("g")
            .attr("class", "x axis");

        xAxisGroup
            .append('svg:use')
                .attr("x", options.startPinX)
                .attr("y", options.startPinY)
                .attr("width", options.iconWidth)
                .attr("height", options.iconHeight * 1.3)
                .attr("class", "ticker start-pin")
                .attr("on-hold", "openPopover($event)")
                .attr("xlink:href", "img/icons.svg#icon-pin");

Is it possible to attach both D3 zoom event handlers and click/on-hold event handlers at the same time?

Yes it is. The event is probably firing, but your D3 code and the Ionic code has different scopes, and the openPopover in Ionic is not visible from SVG nodes, so nothing happens.

See How to share scope between functions in d3.js? for tips on how to reuse event handler code from D3.