>  기사  >  웹 프론트엔드  >  jquery Blur 이후 포커스가 포커스를 얻을 수 없는 문제에 대한 해결 방법

jquery Blur 이후 포커스가 포커스를 얻을 수 없는 문제에 대한 해결 방법

黄舟
黄舟원래의
2017-06-27 11:42:501532검색

1: 많은 아동용 신발에서 이러한 상황이 발생할 수 있습니다.

jquery의 흐림 후에 초점이 맞춰지지 않습니다.

두 가지: 사용 시나리오:

사용자가 정보를 입력할 때 이메일이 비어 있으면 이메일을 입력하세요라는 메시지가 표시됩니다. 그런 다음 텍스트 상자에 커서를 놓고 이메일을 입력하면 사용자가 쉽게 이메일을 입력할 수 있습니다. 다시 입력하세요.

물론 위의 요구 사항을 달성하기 위해 jquey의 두 가지 함수() 및 focus()

를 사용합니다.

$("#email").blur(function(){       if($("#email").val()==''){
            alert('请填写您的邮箱');
            $("#email").focus();    
       }    
})

3: 코드 설명:

이메일을 채울 텍스트 상자가 포커스를 잃을 때, 채워진 내용이 이메일이 비어 있는 경우 '이메일을 입력하세요'라는 메시지가 팝업되고 사용자가 다시 입력할 수 있도록 텍스트 상자에 다시 초점이 맞춰집니다.

FF에서 test.html을 실행하면 팝업 상자가 나타나는데 초점이 맞지 않는 것을 볼 수 있습니다. IE에서 실행한 결과는 분명히 오류가 없습니다. 정상이고 팝업 메시지도 표시됩니다.

넷: 그렇다면 이건 또 다른 호환성 문제라고 생각하실 겁니다.

그렇습니다. FF와 IE는 실제로 호환성 측면에서 많은 문제를 일으켰습니다.

5: 문제의 원인은 FF와 IE의 흐림 및 초점 메커니즘이 다르기 때문일 수 있습니다.

FF 초점은 흐림 이전에만 가능합니다.

Six: 그렇다면 이 버그를 해결하는 방법은 무엇인가요?

settime

out을 사용하여 지연시키세요.

수정된 코드는 다음과 같습니다.

$("#email").blur(function(){    if($("#email").val()==''){
        alert('请填写您的邮箱');        //$("#email").focus();
        window.setTimeout (function(){ document.getElementById ('email'). select();},0 );     
    }    
})

Seven: 각각 IE와 FF에서 실행되며 완벽하게 호환됩니다. 🎜

위 내용은 jquery Blur 이후 포커스가 포커스를 얻을 수 없는 문제에 대한 해결 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.