簡體   English   中英

如何將帶有多個參數的函數引用傳遞給jQuery(document).on('click'事件的回調?

[英]How can I pass a function reference with multiple arguments to the callback of my jQuery(document).on('click' event?

我有以下代碼定義

$(document).on('click', firstRow, processEvent(firstRow, rowArray));

使用以下參數。 就目前情況而言,我正在傳遞函數processEvent而不是傳遞給變量中存儲的函數定義,因此該函數將立即被調用。

我希望動態設置點擊處理程序,並且要使我的功能正常運行,我需要能夠將兩個參數傳遞給click事件的回調。 第一個是對單擊附加到的DOM元素的引用,第二個是DOM元素標識符(存儲為字符串)的數組。

如何將帶有多個參數的函數引用傳遞給jQuery(document).on('click'事件的回調?

var firstRow = '.first-row';
    var secondRow = '.second-row';
    var thirdRow = '.third-row';

    var rowArray = [firstRow, secondRow, thirdRow];


    var hideRow = function(input){
        var Input = input;
        $(Input).show();
    };
    var showRow = function(input){
        var Input = input;
        $(Input).hide();
    }
    // alert(rowArray);


    //Hide second and third rows
    $('.second-row, .third-row').hide();

    var processEvent = function(e, fooArray){ // currently set to one
        var E = e;  // Cache ID of calling object 
        var a = fooArray;
        // alert(E);
        // alert(a);
        var arrayLength = a.length;
        for (var i = 0; i < arrayLength; i++) {
            foo = a[i];
            // alert(row); //
            alert(foo);
            if (foo = e){
                showRow(e);
            }
            else {
                hideRow(foo);
            }
        }
    } // function testProcessEvent(){ processEvent(); }

    $(document).on('click', firstRow, processEvent(firstRow, rowArray));

這是我的第一次嘗試$(document).on('click',firstRow,someFunction(firstRow));

采用

$(document).on('click', firstRow, function () {
    //place the code here
    processEvent(firstRow, rowArray);
});

暫無
暫無

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

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