将onclick事件动态添加到特定div中的链接和特定格式的其他链接

时间:2014-03-19 15:14:03

标签: javascript jquery html onclick

如何使用Jquery或普通JavaScript将onclick事件添加到某个div中的所有链接。我有一个名为canvas0_0的div,我的链接看起来像这样:<a href="some-uri.htm">Open Popup</a>。我需要添加的事件需要如下所示:

onclick="_gaq.push(['_trackEvent', 'banner', 'click', 'label',o,true]);"

而不是标签,我需要一种独特的方式,而不是拉链接或图像名称。

对于任何以.pdf或.zip结尾的内部或外部的链接,我也需要这样做。

由于

3 个答案:

答案 0 :(得分:1)

也许你可以使用href值代替标签,这样你就可以更精确地跟踪点击的链接。

此处,选择器处理位于canvas0_0 div中的链接的点击,以及以.pdf和.zip结尾的所有链接。请注意,如果你有一些以.pdf或.zip结尾的链接在你的canvas0_0 div中,你应该考虑添加一个stopImmediatePropagation()来避免事件的双重触发

$(function(){
    $("#canvas0_0 a, a[href$='.pdf'], a[href$='.zip']").click(function() {
        _gaq.push(['_trackEvent', 'banner', 'click', $(this).attr('href'),o,true]);
    });
});

答案 1 :(得分:0)

以下是第一组链接的执行方式:

$("#canvas0_0 a[href$='.htm']").click(function() {
    _gaq.push(['_trackEvent', 'banner', 'click', 'label',o,true]);
});

对于以.pdf.zip结尾的所有内容:

$("a[href$='.pdf'], a[href$='.zip']").click(function() {
    _gaq.push(['_trackEvent', 'banner', 'click', 'label',o,true]);
});

答案 2 :(得分:0)

在div中添加一个类(例如<div class="click_track" ...> ... </div>

现在你的jQuery处理div上的点击看起来像这样:

$(document).ready(function()
{
    $('.click_track').click(function()
    {
        // handle click here
    });
});