Обычно я связываю событие с jQuery, а затем вызываю его сразу же после этого, например, когда я настраиваю позиционирование или видимость некоторых элементов и еще много чего.Связать и вызвать событие в шаблоне jQuery
$('#myElement').on('click', function() {
$('#myOtherElement').css('color', 'red');
}).click();
Это работает, но шаблон немного уродлив, особенно если мой первый селектор находит несколько элементов. Затем событие запускается несколько раз, один раз для каждого элемента, который находит первый селектор. В итоге я делаю это вместо этого:
$('.lots-of-elements').on('click', function() {
$('#myOtherElement').css('color', 'red');
}).first().click();
Опять же, это работает, но это не мой любимый. Есть ли лучший образец для использования?
Я знаю, что могу сделать что-то вроде:
function onClick() {
$('#myOtherElement').css('color', 'red');
};
$('.lots-of-elements').on('click', onClick);
onClick();
Но это еще более многословным.
Я думаю, что это только ты быть напрасным, первые два примера прекрасно – adeneo
да, и нет. С одной стороны, это в основном желание синтаксического сахара. С другой стороны, предположим, что у меня было несколько обработчиков onClick, о которых мой класс не знает. Это еще не так, но теоретически это может быть так. Мне пришлось бы поместить мой код в новую функцию, добавить обработчик, а затем вызвать функцию, а не использовать вызов .click(). Он получает больше tedius. – dfoverdx