Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何从另一个click event函数中的click event调用函数?_Jquery - Fatal编程技术网

Jquery 如何从另一个click event函数中的click event调用函数?

Jquery 如何从另一个click event函数中的click event调用函数?,jquery,Jquery,我有两个函数,在单击元素时触发。但是,我想使用应该通过click事件在另一个函数中执行的第一个函数。我还是个新手 我已经尝试调用该函数,并在希望执行该函数的另一个函数中声明函数名。是否因为第一个函数只能在其元素上的vie click事件中触发而无法工作?我还将click事件嵌套在一个函数上,但它没有很好地工作 $(document).ready(function() function toggleMenuClick(){ $('.menu-link').click(function (norm

我有两个函数,在单击元素时触发。但是,我想使用应该通过click事件在另一个函数中执行的第一个函数。我还是个新手

我已经尝试调用该函数,并在希望执行该函数的另一个函数中声明函数名。是否因为第一个函数只能在其元素上的vie click事件中触发而无法工作?我还将click事件嵌套在一个函数上,但它没有很好地工作

$(document).ready(function()
function toggleMenuClick(){

$('.menu-link').click(function (normal){
    normal.preventDefault();
    $('.menu-link').toggleClass('close');
    $('.overlay-menu').toggleClass('active');
    $('.menu-link').toggleClass('fixed');
    $('nav ul').toggleClass('show');
    $('nav ul li').toggleClass('fade-in');
    $('body').toggleClass('min-height');

    if ($(window).scrollTop() <= 99){
        $('.menu-link').toggleClass('white');
    }
});

}

toggleMenuClick();

$('.scroll-link').click(function(navigate){
   navigate.preventDefault();
      $("html, body").animate({
      scrollTop: $(this.hash).offset().top
      }, 700);
toggleMenuClick();
});
});
$(文档).ready(函数()
函数toggleMenuClick(){
$('.menu link')。单击(功能(正常){
normal.preventDefault();
$('.menu-link').toggleClass('close');
$('.overlay menu')。toggleClass('active');
$('.menu-link').toggleClass('fixed');
$('nav ul').toggleClass('show');
$('nav ul li')。切换类别('fade-in');
$('body').toggleClass('min-height');

if($(window).scrollTop()您需要在单击处理程序之外将
toggleMenuClick
设置为一个单独的函数,以便可以单独调用它

它看起来像这样:

var toggleMenuClick = function() {
    // Do classes stuff...
}


$('.menu-link').click(function(e) {
    e.preventDefault();
    toggleMenuClick();
});

$('.scroll-link').click(function(e){
    // Do stuff...

    // Now you can call your function
    toggleMenuClick();
});



您需要将
toggleMenuClick
设置为一个单独的函数,在单击处理程序之外,这样您就可以单独调用它了

它看起来像这样:

var toggleMenuClick = function() {
    // Do classes stuff...
}


$('.menu-link').click(function(e) {
    e.preventDefault();
    toggleMenuClick();
});

$('.scroll-link').click(function(e){
    // Do stuff...

    // Now you can call your function
    toggleMenuClick();
});



不要在其他事件侦听器中创建事件侦听器。这会导致重复的事件侦听器创建,并且创建与逻辑自身冲突的可能性非常高。最佳情况下,您将多次执行相同的工作。最坏情况下,它会停止工作。实际上,最坏情况下,它会在som中工作这是我想到的最后一个方法,但显然是逻辑错误的。不要在其他事件侦听器中创建事件侦听器。这会导致重复创建事件侦听器,并且与逻辑本身产生冲突的可能性非常高。B您将多次执行同一项工作。最坏的情况是,它停止工作。事实上,最坏的情况是,它在某些情况下工作,而在其他情况下不工作,然后找出原因是调试的噩梦。这是我想到的最后一种方法,但显然是逻辑错误的。感谢您的输入。我能说出它的名称吗函数并调用它,而不是将其存储在变量中?是的,您可以像
function-toggleMenuClick()那样做{
。唯一的区别是,如果你这样做,它在声明之前就可以通过提升的魔力来访问。这取决于你想要什么。谢谢你的输入。我可以命名函数并调用它,而不是将它存储在变量中吗?是的,你可以像
函数toggleMenuClick(){
。唯一的区别是,如果你这样做,它可以在声明之前通过提升的魔力访问。这取决于你想要什么。