如何通过单击所有链接选项卡调用jQuery函数?

时间:2014-02-10 05:53:29

标签: javascript jquery html

我有以下jQuery代码:

<script>
    var init = function() {
        // Resize the canvases)
        for (i = 1; i <= 9; i++) {
            var s = "snowfall" + i
            var canvas = document.getElementById(s);
            canvas.width = window.innerWidth;
            canvas.height = window.innerHeight;

            // Now the emitter
            var emitter = Object.create(rectangleEmitter);
            emitter.setCanvas(canvas);
            emitter.setBlastZone(0, -10, canvas.width, 1);
            emitter.particle = snow;
            emitter.runAhead(60);
            emitter.start(30);
        }
        $("canvas").delay(10000).animate({
            opacity: '0',

        });
    };
</script>
<ul class="nav navbar-nav">
    <li class="fst"><a href="#" data-href="Home"><span class="icon-menu" /> Home</a> 
    </li>
    <li class="fst"><a href="#" id="flip" data-href="AboutUs"><span class="icon-menu" /> About us</a> 
    </li>
    <li class="fst"><a href="#" data-href="Products"><span class="icon-menu" /> Products</a> 
    </li>
    <li class="fst"><a href="#" data-href="Franchising"><span class="icon-menu" /> Franchising</a> 
    </li>
    <li class="fst"><a href="#" data-href="News"><span class="icon-menu" /> News</a> 
    </li>
</ul>

我想将这个jQuery代码用于所有href标签。

我尝试使用click函数,在这种情况下,只有第一个标签效果很好,其余的根本不起作用。

任何人都可以解释一下吗?

2 个答案:

答案 0 :(得分:0)

$('.navbar-nav a').click(function(e) {
    e.preventDefault();

    var data = $(this).data('href');

    // do whatever you need
});

答案 1 :(得分:0)

基于@Petar Vasilev的回答

http://jsfiddle.net/dHR8V/2/

$('.navbar-nav a').click(function(e) {
  e.preventDefault();
  debugger;

  window.location.href = "someurl";

  // do whatever you need
});

当您单击链接时,处理程序会捕获click事件并执行。您现在可以控制单击链接时发生的任何事情。