Именование функций jQuery

$(".song").live('click', function songClick() {
    //do stuff
});

Можете ли вы назвать функцию, как указано выше, а затем вызвать ее позже? Я пытался, но это не сработало. Должен ли я передать ему событие?

12 голосов | спросил switz 27 MarpmSun, 27 Mar 2011 23:04:20 +04002011-03-27T23:04:20+04:0011 2011, 23:04:20

3 ответа


0

Просто назовите ее как отдельную функцию и вызовите ее из live():

function songClick() {
  // do stuff
}

$(".song").live('click', songClick);

Обратите внимание на отсутствие скобок в методе live().

ответил Liza Daly 27 MarpmSun, 27 Mar 2011 23:07:16 +04002011-03-27T23:07:16+04:0011 2011, 23:07:16
0

Примечание для справки:

Метод live был удален в версии 9. Любой, кто сталкивался с этим вопросом, теперь должен использовать on (). Но в противном случае должны работать так же, как и ответы выше.

function songClick() {
//code
}

$(".song").on('Click', songClick);


Если вы хотите, чтобы обработчик событий запускался только один раз, вы также можете использовать one ().

ответил K.S. 8 PM00000010000005531 2013, 13:55:55
0

Вы можете определить функцию перед кодом jquery, а затем просто передать имя в jquery; то есть.,

function songClick() {
    //do stuff
}
$(".song").live('click', songClick);

Затем вы можете использовать songClick () и в других местах.

ответил Ernest Friedman-Hill 27 MarpmSun, 27 Mar 2011 23:07:20 +04002011-03-27T23:07:20+04:0011 2011, 23:07:20

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132