2011-12-28 2 views
1

텍스트 필드의 값이 변경 될 때마다 함수를 호출하는 양식을 작성하고 있습니다. "keyup"및 "change"이벤트를 사용합니다. 그러나 사용자가 텍스트 필드를 두 번 클릭하고 이전에 입력 한 값의 브라우저 내장 목록에서 항목을 클릭하면 함수가 호출되지 않습니다. 사용자는 "change"이벤트를 발생시키기 위해 텍스트 필드 외부를 클릭해야합니다. 어떤 아이디어?jQuery : 브라우저의 기본 자동 완성 선택 항목에 처리기를 연결하십시오.

+0

해당 입력에 브라우저의 자동 완성을 사용 하시겠습니까? 그렇지 않다면'autocomplete = false'를 설정하고 문제를 완전히 피할 수 있습니다. –

+0

실제로'autocomplete = off'입니다. https://developer.mozilla.org/en/How_to_Turn_Off_Form_Autocompletion –

+0

'autocomplete = false'는 웹킷에서 작동하지만, 알아두면 좋습니다. –

답변

0

당신은 그래서 같은 입력에 focusblur 이벤트를 수신 할 수 있습니다 :

function monitor() { 
console.log($('#input').val()); // Log the value (or trigger your chnage) 
} 

var timer = ''; 

$('#input').on('focus', function() { 
    timer = setInterval(monitor, 100); 
}).on('blur', function() { 
    clearInterval(timer); 
}); 

Here's a working jsFiddle합니다.

+0

그게 효과가! 감사! – Nick