Mixpanel track_links不适用于动态添加的元素

我在使用mixpanel.track_links时动态添加链接(页面加载后)时遇到问题。

举个例子,给出这个页面:

   mixpanel.track_links(".mixpanel-event", "event name", function(ele) { return { "type": $(ele).attr("type")}});  

在某些用户操作中,使用jquery将链接添加到页面。 例如:

 $('#add-link).click(function() { $('#link-div').html('Link to track'); }) 

问题是单击新创建的链接时不会触发track_links。 我希望有人可以分享他们使用track_linkfunction来动态添加链接的经验。

我很好奇所以我检查了他们的代码并继续按照他们的建议做了。 我测试了它,它工作正常。 这需要jQuery。

用法示例: mixpanel.delegate_links(document.body, 'a', 'clicked link');

 // with jQuery and mixpanel mixpanel.delegate_links = function (parent, selector, event_name, properties) { properties = properties || {}; parent = parent || document.body; parent = $(parent); parent.on('click', selector, function (event) { var new_tab = event.which === 2 || event.metaKey || event.target.target === '_blank'; properties.url = event.target.href; function callback() { if (new_tab) { return; } window.location = properties.url; } if (!new_tab) { event.preventDefault(); setTimeout(callback, 300); } mixpanel.track(event_name, properties, callback); }); };