класс jQuery изменился только один раз - PullRequest
0 голосов
/ 05 января 2012

Я меняю стиль кнопки, когда через jQuery при нажатии кнопки. Ниже приведен код.

<script type="text/javascript">
    $(document).ready(function () {
        $("#btnDiv .down").click(function () {
            $(this).addClass("click");
        });
    });

Так как я вложил #btnDiv в UpdatePanel, вышеуказанные функции действуют только один раз. В чем причина и способ решения проблемы.

Ответы [ 2 ]

1 голос
/ 05 января 2012

Когда вы визуализируете свою updatePanel, вам необходимо выполнить эти javascript еще раз, иначе после обновления прежнее связанное событие не будет.

Взгляните на jQuery.on ()

Если у вас версия jQuery до 1.7, вам, возможно, потребуется использовать функцию .delegate() или .live().

Таким образом, ваш код может быть:

$(document).ready(function () {
        $("#btnDiv .down").on("click",function () {
            $(this).addClass("click");
        });
    });

Вам не нужно отображать приведенный выше код каждый раз, когда вы обновляете панель.Просто выполните один раз.

0 голосов
/ 05 января 2012

Предполагая, что «UpdatePanel» динамически меняет свое содержимое.Затем вам нужно использовать функцию jquery .on () (или .delegate () ) для привязки событий для динамически обновляемых элементов.

...