在另一个函数中触发click功能

时间:2013-11-04 14:24:53

标签: javascript jquery html

我有一个非常基本的点击功能,可以完成一些功能:

$('#one').click(function() { 
    slider();
    $(this).css({'background-image':'url(img/circle_c.png)'});
    $('#two, #three').css({'background-image':'url(img/circle.png)'});
    $content.cycle(0); 
    return false;  
});

现在我想在另一个点击功能上触发此点击功能。我的意思是一旦我按下另一个目前看起来像这样的点击功能:

$mario.on('click', this, function() {
    var l = 0,
    row = 8;
    $(this).addClass('active');
    // and some other functions
});

第一次点击功能也会触发。你们中的任何人都知道如何做到这一点。我想复制并粘贴#one点击功能的内容不是必须的。

干杯

3 个答案:

答案 0 :(得分:6)

您可以使用trigger

$('#one').trigger('click');

所以你的完整代码看起来像这样

$mario.on('click', this, function() {
    var l = 0,
    row = 8;
    $(this).addClass('active');
    $('#one').trigger('click'); // < -- trigger click for #one
    // and some other functions
});

答案 1 :(得分:0)

将第一个点击处理代码分解为一个函数:

function swapImages() {
  slider();
  $('#one').css({'background-image':'url(img/circle_c.png)'});
  $('#two, #three').css({'background-image':'url(img/circle.png)'});
  $content.cycle(0); 
  return false;  
}

并在两个地方引用它:

$('#one').click( swapImages );

$mario.on('click', this, function() {
    var l = 0,
    row = 8;
    $(this).addClass('active');

    swapImages();

    return false;
});

答案 2 :(得分:0)

您有两种选择。您可以使用trigger方法。

$("#one").trigger('click');

或者您可以使用没有参数的click方法。示例here

$("#one").click();