2010-02-01 3 views
4

Я использую JQuery 1.4.1. У меня есть элементы ввода HTML, которые создаются динамически. Я назначил событие «focusin» всем входным элементам. При загрузке страницы он запускается только один раз при фокусировке каждого элемента ввода.JQuery live - focusin fires несколько раз

Проблема заключается в том, что, когда я минимизирую и максимизирую страницу, событие фокусировки запускается несколько раз. Наконец, он показывает «Переполнение стека в строке 0».

$('input').live("focusin",function(objectRef) { 
     alert("focusin event"); 

    }) 

Что может быть причиной этой проблемы?

ответ

12

Не беспокойтесь. Это происходит только тогда, когда вы вызываете alert(). Но я не понимаю, почему нажатие кнопки «ОК» в окне предупреждения вызывает событие несколько раз.

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

$('input').live("focusin",function(objectRef) { 
    //alert("focusin event"); 
    $("#some_div").append('focus!'); 
}) 

То же focus, click и других мероприятий.

+1

«Это происходит только при вызове alert()» true –

+0

Только что наткнулся на эту проблему. Рад, что знаю, что знаю. –

Смежные вопросы