2013-03-27 53 views
1

我想点击执行2个函数。 另外,两者都很好。 但是,当我执行functionA和functionB之后出现问题。jquery一键双击功能

问题出现在函数B中。我认为这是因为$(this)。 由于在functionA上执行的所有先例var,它没有得到正确的id。 $(this)的id调用必须是#prev-ajax,#next-ajax。

下面的代码:

function A(){ 
    var link = $(this); 
    ajaxify(link.attr('href')); 
    window.location.hash = link.attr("href"); 
    $('.link').removeClass('current'); 
} 
function B(){ 
    e.preventDefault(); 
    var href = $(this).attr('href'); 
    var link = $(".link[href*= '" + href + "']:not(#prev-ajax, #next-ajax)"); 
    var $parent = link.parents('.element'); 
    var prev = $parent.prev().find('.link').attr('href'); 
    var next = $parent.next().find('.link').attr('href'); 
    $("#prev-ajax").attr('href', prev); 
    $("#next-ajax").attr('href', next); 
} 
$("#prev-ajax,#next-ajax").click(A).click(B); 

对不起,英语,我是法国人

卢瓦克

回答

1

一次试试这个,看看你是同时使用的功能整合在一起仍然有问题:

$("#prev-ajax,#next-ajax").click(function (e) { 
    e.preventDefault(); 
    var functionAlink = $(this); 
    var functionBlink = $(this); 

    // Function A code 
    ajaxify(functionAlink.attr('href')); 
    window.location.hash = functionAlink.attr("href"); 
    $('.link').removeClass('current'); 

    // Function B code 
    var href = functionBlink.attr('href'); 
    var link = $(".link[href*= '" + href + "']:not(#prev-ajax, #next-ajax)"); 
    var $parent = link.parents('.element'); 
    var prev = $parent.prev().find('.link').attr('href'); 
    var next = $parent.next().find('.link').attr('href'); 
    $("#prev-ajax").attr('href', prev); 
    $("#next-ajax").attr('href', next); 
}); 
+0

非常感谢!这两个功能都很好,一个接一个地工作! – lolo 2013-03-27 23:29:09

+0

很高兴帮助! – 2013-03-27 23:30:00