У меня есть следующее определение кода
$(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));
использование
$(document).on('click', firstRow, function () {
//place the code here
processEvent(firstRow, rowArray);
});