Как передать ссылку на функцию с несколькими аргументами в функцию обратного вызова моего события jQuery (document) .on (click)?

0

У меня есть следующее определение кода

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

Что использует параметры ниже. В настоящее время я передаю функцию processEvent функции, а не определение функции, хранящуюся в переменной, и поэтому функция вызывается немедленно.

Я хочу динамически настраивать обработчики кликов, и для работы моей функции мне нужно иметь возможность передавать два параметра для обратного вызова в событии клика. Первый - это ссылка на элемент 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));

Теги:
this

1 ответ

0
Лучший ответ

использование

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню