у меня есть функция поиска, определенная в javascript
var locID;
function locateMe()
{
if(locID > 0)
{
// i do a jquery post here
}
setTimeout(locateMe, 2000);
}
// my document ready function is here, and inside it, at the end of it
// i do this
locID = 0;
locateMe();
когда я тестирую этот код в Firefox, функция locateMe вызывается каждые две секунды и работает как положено. когда я тестирую код в IE8, функция никогда не вызывается (по крайней мере, она никогда не вызывается из того, что я вижу с помощью инструментов разработчика IE)
примечание: в обработчике события click определен код для класса zone_row, который изменяет locID. опять же в firefox все работает как положено. Странно то, что в IE при нажатии на zone_row функция будет вызываться ONCE. Я вижу это как в инструментах разработчика, так и в результате действия этого поста jquery.
Я подумал, что с IE есть какая-то аномалия, с которой я еще не знаком. что я делаю не так?
РЕДАКТИРОВАТЬ: изменено "locateMe ();" найти меня внутри вызова setTimeout.
ОБНОВЛЕНИЕ: добавление большего количества моего кода (для каждого запроса в комментариях), чтобы показать место размещения (хотя и не намного больше кода, чем мой первый пост).
<script type="text/javascript">
var z_items;
var locID;
function locateMe()
{
if(locID > 0)
{
// my jquery post is here
}
setTimeout(locateMe, 2000);
}
$(document).ready(function()
{
// ... some click events and get requests here ...
locID = 0;
locateMe();
});
</script>
Я также попытался обернуть вызов в setTimeout (без эффекта) и изменить DOCTYPE (это фактически заставляло IE никогда не вызывать функцию, в отличие от того, где он вызывает ее ОДИН РАЗ и никогда больше).