Во-первых, небольшая оговорка: я не мастер по работе с javaScript/jQuery, хотя я обрабатывал ее довольно много раз. В последнее время я иногда обнаруживал себя принудительным, чтобы сделать избыточный код, т. Е. Повторить строки (коды) относительно различных событий, потому что я не знаю, как это сделать более эффективным способом. Небольшим примером будет включение кнопки после проверки того, установлен ли какой-либо флажок на странице. Это делается либо на странице загрузки или после того, как выбран любой флажок:Как избежать дублирования кода в JavaScript/jQuery?
var checkboxes = $("input[type='checkbox']");
$('#nextfl').attr("disabled", !checkboxes.is(":checked"));
checkboxes.click(function()
{
$('#nextfl').attr("disabled", !checkboxes.is(":checked"));
});
Я не думаю, что это может быть решена с помощью функции bind
или on
, например, так как он относится к событиям, не имеющих отношения к тому же элемент. Я считаю, что это должно быть прямое решение этого, но, как я уже говорил, у меня мало опыта в JS/jQ, и есть некоторые подобные ситуации, когда я повторял десятки строк кода, что, конечно, по крайней мере, плохая практика.