Отладка кнопки jQuery - определите причину события навигации / обратной передачи - PullRequest
0 голосов
/ 04 ноября 2010

У меня есть кнопка пользовательского интерфейса jQuery, которая используется внутри столбца jqGrid.Эта кнопка отключена до тех пор, пока не сработает событие onSelectRow и не будет включена соответствующая кнопка для строки.

Эта кнопка при генерировании выглядит примерно так (псевдокод).

<button id=\"" + ids[i] + "_SaveButton\" class=\"SaveButton\" onclick=\"return false;\">Save</button>

$(".SaveButton").button({ icons: { primary: 'ui-icon-check' }, text: false, disabled: true }).css({ width: "45px" });

onSelectRow: function () {
     $("#" + _LastSel + "_SaveButton").button("disable");
     $("#" + ID + "_SaveButton").button("enable");
}

Эта кнопка должнаверните false, чтобы предотвратить обратную передачу страницы.

Моя проблема заключается в том, что где-то во всем моем коде, когда инициируется событие onSelectRow, я получаю возникновение обратной передачи.

Интересно, что это происходит только тогда, когда onSelectRow запускается из столбца, содержащего кнопку сохранения, но я отвлекся.

По сути, я надеюсь, что кто-то может дать мне представление о том, какЯ мог бы определить, какое событие и из какого элемента DOM запускает обратную передачу.Я пытался использовать событие jQuery.unload (), но это не дает информации о том, что его вызвало (по крайней мере, из того, что я вижу, просматривая объект eventData).

У кого-либо есть идеи

1 Ответ

1 голос
/ 04 ноября 2010

Вероятно, одно из событий переходит в форму, вызывая отправку. Возможно, из-за того, как вы связываете onSelectRow - попробуйте добавить туда event.preventDefault ().

Также перехватывает событие отправки формы, затем исследует event.originalEvent и event.originalTarget.

Кроме того, я рекомендую не смешивать атрибуты onclick с современной привязкой поведения jQuery.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...