jQuery должен выполнить все ваши обработчики $(function()...)
в том порядке, в котором они были объявлены без проблем. Похоже, ваши звонки autocomplete
и suggest
являются виновниками.
jQuery крайне осторожен с обработчиками событий, и если вы попытались сделать что-то похожее на описанные выше с обработчиками щелчков, вы заметите, что они тоже выполняются последовательно (а не перезаписывают друг друга). Попробуйте:
Предположим, что someElement размечен следующим образом:
<span id="someElement" onclick="alert('Me First!');" />
... и JavaScript
$("#someElement").click
(
function()
{
alert("1");
}
);
$("#someElement").click
(
function()
{
alert("2");
}
);
Вы увидите три окна с предупреждениями в следующем порядке: «Я первый!», «1» и «2».
jQuery делает все возможное, чтобы сохранить размеченные обработчики onclick как первую функцию, которая щелкает при возникновении события. Это делает очень безопасным использование этой библиотеки с серверной технологией, такой как ASP.NET, которая разбрасывает обработчики onclick повсюду.
Чтобы удалить все назначенные jQuery обработчики событий щелчка из элемента, выполните следующие действия:
$("#someElement").unbind("click");
Имейте в виду, что это не удаляет обработчик щелчка, назначенный другим способом (т. Е. Атрибут onclick в разметке).