div中所有href的jquery回调

时间:2013-11-26 07:20:05

标签: javascript jquery

我有一个div:

<div id="left-nav">
    <a href="#" class="current">
        <span class="icon dashboard"></span>
        Dashboard
    </a>

    <a href="#">
        <span class="icon users"></span>
        Users
    </a>

    <a href="#">
        <span class="icon venues"></span>
        Venues
    </a>

    <a href="#">
        <span class="icon payments"></span>
        Payments
    </a>
</div>

我可以逐个为每个a指定一个事件处理程序,但有没有一种方法我可以要求一次回拨所有这些事件?所以我只是说,当点击任何a标签时触发此功能?而不是循环遍历每个并分配回叫。

由于

5 个答案:

答案 0 :(得分:1)

在jQuery中,您可以使用.on()

$("#left-nav").on( "click", "a", function(){
    alert("clicked!");
    return false;
});

答案 1 :(得分:1)

<div id="left-nav">
    <a href="#" class="current">
        <span class="icon dashboard"></span>
        Dashboard
    </a>

    <a href="#">
        <span class="icon users"></span>
        Users
    </a>

    <a href="#">
        <span class="icon venues"></span>
        Venues
    </a>

    <a href="#">
        <span class="icon payments"></span>
        Payments
    </a>
</div>

添加jquery

$('#left-nav a').click(function()
{
    //your element 
    alert(this.id);//for element which have been clicked
});

答案 2 :(得分:1)

$("#left-nav").on( "click", "a", function(){
    alert("clicked!");
    return false;
});

答案 3 :(得分:0)

您可以这样链接您的选择器:

$('#left-nav a').on('click', function(){
    alert(this.className + ' clicked.');
});

如果您的所有锚标签都是动态生成的,那么您可以将事件委托给页面加载时可用的最近的静态父级:

$('#left-nav').on('click', 'a', function(){
    alert(this.className + ' clicked.');
});

答案 4 :(得分:0)

$("#left-nav").delegate( "click", "a", function(){
    //your code
});