1
"나는 각각 하나와 두 개의 이름이있는 스팬과 텍스트 입력이 각각 있습니다. 한 번에 하나만 보여줍니다. "one"을 두 번 클릭하면 "two"에 표시되고 초점을 맞추는 동안 숨겨집니다. "2"가 흐려지면 숨기고 "하나"를 표시합니다. 충분히 쉽게, 입력 키를 누르면 "2"를 흐려 지려고 할 때 문제가 나타납니다. 당신은 아무 곳이나 클릭하면 트리거링 후 초점을 유지하는 요소 유지
.bind({'blur keyup': (function(e){
if(e.type === 'keyup' && e.keyCode !== 10 && e.keyCode !== 13) return;
$([this,$(this).prev()]).toggle(); })
})
엔터 키를 누르면
는 토글 다시 화재 발생했지만 : 여기에 내가 가진 것입니다. 그래서 그것은 불기둥처럼 보이지만 "2"는 초점을 유지합니다. > 비활성화 ->이return false
(흐림 후)를 추가 (예상대로) 함수의 나머지
나는 e.preventDefault()
return false
(흐림 전) 추가 추가
- 시도 Enter 키 (??) 또는 그 이후 :
- 키 업 :
(return function(e){
-> jQuery는이 구문을 좋아하지 않습니다.
- 키 업 :
- 는 다른 기능에 .toggle()를 수행 -> 차이는,되지 아니하는 는
setTimeout
(심지어 0의 시간이) -> 문제는 다른 리스너를 (사용 거리
- 간다 키 [위/아래를 눌러]) -> 차이
- 별도의 함수를 호출 -
질문> 차이 : 어떻게이 문제를 해결할 수 있습니까? 예상 된 동작은 Enter 키를 누르면 흐림 효과와 동일한 동작이 나타납니다..
키 업 핸들러에 흐림을 강요하는 대신 다른 요소에 포커스를 설정할 수 있습니다. –
작동하는 동안 포커스를 전환 할 다른 입력이 없습니다. 문서 자체에 "집중"하거나 (이 문서의 내용이 무엇인지 찾아 내면) 이상적입니다. – Gary
실제로 이것은 매우 흥미 롭습니다. 입력을 숨기지 않으면 블러가 잘 작동합니다. 입력을 토글하면 문제가 발생합니다! –