jQuery의 입력 필드에서 포커스를 제거하는 방법은 무엇입니까?


136

다음 줄을 사용하여 페이지를로드 할 때 특정 입력 필드에 초점을 설정하고 있습니다.

$('#myInputID').focus();

특정 요소 위로 마우스를 가져갈 때이 포커스를 취소하거나 제거 할 수있는 방법 있습니까? (이 요소를 떠난 후 포커스를 재설정 할 필요는 없습니다.)

jQuery에서 위와 반대되는 함수를 찾을 수 없거나 여기서 작동하지 않습니다.

답변:


227

.blur () 사용하십시오 .

블러 이벤트는 포커스를 잃으면 요소로 전송됩니다. 원래이 이벤트는와 같은 요소를 구성하는 데만 적용되었습니다 <input>. 최근 브라우저에서 이벤트 도메인은 모든 요소 유형을 포함하도록 확장되었습니다. 요소는 Tab 키와 같은 키보드 명령이나 페이지의 다른 곳에서 마우스 클릭을 통해 초점을 잃을 수 있습니다.

$("#myInputID").blur(); 

좋아, 그래서 내가 여기서 잘못하고 있다고 생각하거나 잘못 설명했다. 여기서 사용하려는 요소에는 navbar 클래스 (Bootstrap 3 navbar)가 있으므로 다음을 시도했지만 작동하지 않습니다. $ ( '. navbar'). on ( 'mouseover', function () {$ ( '#myInputID'). blur ();});
user2571510

그렇습니다. 이것이 작동하지 않으면 대신 탐색 막대에 초점을 설정할 수 있습니까?
user2571510

1
@ user2571510 : 이벤트 내부에 경고를 보내어 이벤트가 시작되는지 확인하십시오.
Milind Anantwar

예, 경고가 표시되지만 필드에서 초점이 제거되지는 않습니다.
user2571510

1
@ user2571510 : 페이지에 중복 ID가 있습니까 ?? 사용해보십시오$("[id=myInputID]").blur();
Milind Anantwar에게



0

$(':text').attr("disabled", "disabled");모든 텍스트 상자를 비활성화 모드로 설정합니다. 각 텍스트 상자 ID를주는 것과 같은 다른 방법으로 할 수 있습니다. 이 코드를 사용하면 가중치가 더 커지고 성능 문제가 발생합니다.

$(':text').attr("disabled", "disabled");접근하는 것이 좋습니다 .


0

당신이있는 경우 readonly속성을, 그 자체로 흐림 작동하지 않을 것입니다. 아래의 contraption이 작업을 수행해야합니다.

$ ( '# myInputID'). removeAttr ( 'readonly'). trigger ( 'blur'). attr ( 'readonly', 'readonly');
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.