2012-01-09 10 views
2

input이 문서에 많이 있습니다.
텍스트를 생성하고 현재 포커스가있는 입력에 텍스트를 삽입하는 대화 상자를 열려고합니다.요소의 포커스 손실 방지

문제는 입력이 포커스를 잃는 대화 상자를 열기 위해 버튼이나 다른 것을 클릭 할 때입니다. 어떤 입력이 생성 된 텍스트를 가져와야하는지 확인할 수 없습니다.

$("#button").click(function(){ 
    // something should goes here to prevent stealing inputs focus 
}); 

특수 버튼으로 초점을 도용하지 못하게하는 해결책이 있습니까?

+1

초점을 저장 버튼을 클릭 한 것 같다 대화 상자의 콜백 또는 대화 – ggzone

+0

의 닫기 버튼에로드 할 때 @ggzone 아이디어에 따라 좋은 생각, 나는 그것을 시험해야한다 – Omid

+0

작동하지 않는다! 버튼을 클릭하기 전에 입력 흐림 효과가 적용됩니다. – Omid

답변

1

button 양식을 사용하여 <span>이라고 말하면 버튼처럼 작동 할 수 있습니까?

UPDATE :

당신은 같은 것을 사용할 수

$('span').hover(function(){ 
    focused_element = $("*:focus").get(0); 
}); 
$('span').click(function(){ 
    focused_element.focus(); 
}); 

체크 아웃 my fiddle

+0

문제가 여전히 존재할 수 없습니다 !!!! – Omid

+0

오, 정말? 아마도 @ggzone으로해야 할 수도 있습니다. – Alex

+0

초점을 잃어 버릴 때가 아닙니다. – mrzmyr

0

필드에 고유 한 ID가 있습니까? 일치하는 경우 해당 ID를 사용하여 대화 상자의 저장/닫기 버튼을 클릭 할 때 필드로 다시 포커스를 설정하십시오.

작업을 완료 한 후에도 초점을 도난 당하면 걱정하지 마십시오.

+0

친애하는 제이슨, 고유 ID가없고 – Omid

0

내 솔루션 focusEle 그것을 모든 초점을 처리하고 저장하는 것입니다 :

$(function() { 

    var focusEle; 

    $('*').focus(function() { 
     focusEle = this; 
    }); 

    $('button').click(function (e) { 
     console.log(focusEle); 
     var c = confirm('Love the cat :3?'); 
     $(focusEle).focus(); 
    }); 
}); 

HTML 형식 :

<input type="text"> 
<button>Press me!</button> 

예 노력하고 있습니다 :

http://jsfiddle.net/76uv7/

+0

'focusEle'가되는 버튼을 클릭했을 때'*'selector가 의미하기 때문에 이것은 작동하지 않습니다. –

+0

@RoryMcCrossan 나는 심지어 짐작할 만하지만, 그 작동을 확인해 본다. – mrzmyr

+0

FB9 포커스가 나를 위해 나를 선택 했으므로, 버튼을 클릭 한 후에 텍스트 입력에 반환되지 않는다. –

관련 문제