ActionLink выполняется несколько раз - PullRequest
0 голосов
/ 07 марта 2012

У меня есть ссылка действия ajax, которая добавляет частичное к div.

$('#hypNewCriteria').click(newClick);
...
var newClick = (function ()
{
    console.log('newClick');
    $.ajax(this.href, {
        success: function (result)
        {
            ...
        }
}

На первой загрузке страницы и на каждом возвращаемом частичном я (вероятно, излишне) выполняю черезdocument.ready

$('#hypNewCriteria').click(newClick);

... последующие клики по ссылке action;количество возвращаемых частичных просмотров увеличивается на 1 каждый раз.После 7 кликов он возвращает 8 партиалов.Я ожидаю добавления только 1 части.

Я подозреваю, что событие .click (newClick) добавляется.Есть ли способ установить событие одного клика или очистить событие, прежде чем я установлю другое?

Ответы [ 2 ]

2 голосов
/ 07 марта 2012

Вы можете использовать метод unQind () jQuery для отмены привязки событий.

http://api.jquery.com/unbind/

Я бы также посмотрел на метод live () jQuery.Это связывает событие со всеми текущими и будущими элементами, которые добавляются на страницу, что полезно для страниц, которые загружают частичные компоненты или добавляют элементы, для которых необходимо постоянно добавлять события.

1 голос
/ 07 марта 2012

Попробуйте .one():

$('#hypNewCriteria').one('click', newClick);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...