Изменить :
Ваше изменение изменит вопрос, теперь у вас есть синтаксическая ошибка:
$("#soap-test-test-cases")
.delegate(".soap-test-case", "click", function(){
testfunction();
});
// v--- here
.delegate("legend", "click", function() {
alert("this is a test!");
});
Если вы удалите точку с запятой перед ней, вывсе в порядке:
$("#soap-test-test-cases")
.delegate(".soap-test-case", "click", function(){
testfunction();
}) // <== No semi here, we're not done with the statement yet
.delegate("legend", "click", function() {
alert("this is a test!");
}); // <== Now we're done with the statement
Это один оператор , разбросанный по нескольким строкам, что нормально.Вы вызываете $()
, затем вызываете delegate
для объекта, который возвращает $()
, затем вызываете delegate
для объекта, который возвращает ваш первый вызов delegate
.
С точкой с запятой послепри первом вызове delegate
у вас есть два оператора , а второй начинается с .
(что является синтаксической ошибкой).
JavaScript в основном не заботится о строкеперерывы, он заботится о операторах , которые заканчиваются точкой с запятой.У него ужас: автоматическая вставка точек с запятой , но он не будет вставлять точки с запятой, которые делают ваш код недействительным.(Он будет вставлять точки с запятой, которые делают ваш код некорректно , хотя, опять же, узнайте, где начинаются и заканчиваются ваши операторы, и убедитесь, что вы вводите правильные точки с запятой.)
Оригинальный ответ :
Приведенные вами примеры кода действительны и имеют одинаковый эффект: подключение двух отдельных функций для обработки кликов, одна изих на одном подмножестве элементов (.selector1
) и другом на другом (.selector2
).Ваш первый пример - просто стандартная цепочка.
Я не думаю , это то, что вы просите, но на всякий случай: если вы хотите использовать то же самое функция для обоих классов элементов, вы также можете сделать это:
$("#submodule1").delegate(".selector1, .selector2", "click", function() { });
... или (конечно) использовать одну и ту же именованную функцию с двумя отдельными delegate
вызовами.