簡體   English   中英

jQuery回調函數傳遞事件

[英]jQuery callback function pass event

我有一個點擊事件,如下所示,效果很好:

$('#showmenu').off('click').on('click', function(e) {
    e.preventDefault();
    e.stopPropagation();
    show_menu();
    return false;
});

show_menu在哪里:

function show_menu(e) {
    if (!collapseForm.is(':visible')) {
        collapseForm.show();
        showMenu.removeClass(chevronDown).addClass(checvronUp);
        searchAgain.hide();
    } else {
        collapseForm.hide();
        showMenu.removeClass(checvronUp).addClass(checvronDown);
        searchAgain.show();
    }
}

我希望能夠做這樣的事情:

$('#showmenu').off('click').on('click', show_menu(e));

是否可以通過執行以下操作將“ e”傳遞給回調函數?

function show_menu(e) {
    e.preventDefault();
    e.stopPropagation();
    if (!collapseForm.is(':visible')) {
        collapseForm.show();
        showMenu.removeClass(chevronDown).addClass(checvronUp);
        searchAgain.hide();
    } else {
        collapseForm.hide();
        showMenu.removeClass(checvronUp).addClass(chevronDown);
        searchAgain.show();
    }
    return false;
}

在此處輸入圖片說明

調用函數時(通過事件觸發)將事件對象傳遞給函數。

您必須將函數傳遞給on方法。

$('#showmenu').off('click').on('click', show_menu);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM