2010-05-18 3 views
8

오프에 "자동 완성"을 돌려 :JQuery와 - 그래서,이 코드를 가지고 모든 형태의 (심지어 사람 아직로드)

$(document).ready(function(){ 
    $('form').attr('autocomplete', 'off'); 
}); 

그것은 이미 존재하는 모든 형태의 위대한 작품. 문제는 일부 형태의 광산이 아약스를 터뜨린 팝 업에 있다는 것입니다. 이것은 나중에로드되기 때문에 적용되지 않습니다.

live() 함수가 있다는 것을 알고 있습니다. 그러나 이는 이벤트를 첨부하기위한 것입니다. 이것을 적용하는 좋은 방법은 모두 양식입니까?

감사합니다.

답변

27

라이브 이벤트를 포커스 이벤트에 바인딩 한 다음 해당 이벤트의 특성을 변경할 수 있습니다.

$(document).ready(function(){ 
    $(':input').live('focus',function(){ 
     $(this).attr('autocomplete', 'off'); 
    }); 
}); 

jQuery 1.7 jQuery.live 기준으로 사용되지 않습니다. 이 코드의 모양은 다음과 같습니다.

$(document).ready(function(){ 
    $(document).on('focus', ':input', function(){ 
     $(this).attr('autocomplete', 'off'); 
    }); 
}); 
+0

당신이 지금 사용한다 http://api.jquery.com/live/ 라이브() 함수는 현재 사용되지 않습니다 http : // api. jquery.com/on/ –

+0

@AndyBrudtkuhl 왜냐하면 조금 오래 되었기 때문에 3 년 된 답변을 거절 할 이유가 없습니다. 나는 최신의 답변을 업데이트했다. – PetersenDidIt

+0

그것이 작동하지 않았기 때문에 나는 downvoted - downvote의 요점이 아닌가요? 업데이트 된 답변과 함께 왜 언급했는지에 대한 의견을 남겼습니다. 나에게 적절한 스택 에티켓처럼 보입니다. 나는 원래 답변이 더 이상 사용되지 않았 음이 분명 해졌기 때문에 내 downvote를 삭제했습니다. 업데이트 해줘서 고마워. –

3

라이브 이벤트는 이제 사용 중지되었습니다. 대신에 on 이벤트를 사용해야합니다. 이것은 DOM이 생성되었는지 여부에 관계없이 DOM의 모든 입력에 첨부됩니다. 그런 다음 autocomplete = "off"속성을 해당 입력에 추가합니다. 문서가 준비되기 전에 크롬 같은 일부 브라우저에서 '자동 완성'을로드 할 수 있기 때문에

$(document).ready(function() { 
    $(document).on('focus', ':input', function() { 
    $(this).attr('autocomplete', 'off'); 
    }); 
}); 
1

사용 JQuery와, 충분하지 않을 수있는 데이터를 저장 ($ (문서) .ready)

JQuery와이

같이 작동
$('input, :input').attr('autocomplete', 'off'); 

하지만 더 효율적이 될 수 귀하의 의견 태그에 수동으로 자동 완성 = '오프'를 추가

관련 문제