Какое событие/метод jQuery я могу использовать для привязывания динамической кнопки перед щелчком?

Я пытаюсь присоединить плагин jQuery к динамично сгенерированной кнопке. Я попробовал следующее без успеха:

$('.myButton').live('click', function() {
    $(this).file().choose(function(e, input) {
        // ...
    });
});

Я предполагаю, что это не работает сменными потребностями, связывающими перед щелчком.

Таким образом, я попробовал...

$('.myButton').load(function() { ... });

и (получение отчаянного теперь)...

$('.myButton').live('load', function() { ... });

Какой метод я могу использовать для привязки недавно сгенерированной кнопки, прежде чем пользователь нажмет на него?

1
задан Brian Tompsett - 汤莱恩 15 June 2019 в 08:03
поделиться

2 ответа

Вы можете привязать его при создании, например если он сгенерирован $. ajax () , то он будет выглядеть так:

$.ajax({
  //options...
  success: function(data) {
    //do stuff
    $(".myButton", data).file().choose(...);
  }
});

Важная часть - это , data , мы даем селектору контекст для поиска, поэтому он находит только те кнопки, которые были загружены в ответ. Этот же метод применяется к методам успеха в других сокращенных версиях $ .ajax () .


Если это не вариант, значит, доступен неэффективный маршрут. Вы можете использовать плагин .livequery () , который активно ищет и воздействует на новые элементы, независимо от источника. В этом случае ваш код будет выглядеть так:

$(".myButton").livequery(function() {
  $(this).file().choose(...);
});
1
ответ дан 2 September 2019 в 23:10
поделиться

вам нужно добавить код:

    $('.myButton').live('click', function() {
        $(this).file().choose(function(e, input) {
        // ...
        });
    });

ПОСЛЕ того, как вы динамически добавили вашу кнопку (так что, по сути, добавьте его в процедуру, которая добавляет динамическую кнопку).

jim

1
ответ дан 2 September 2019 в 23:10
поделиться
Другие вопросы по тегам:

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