2011-05-10 4 views
2

시간을 입력 할 수있는 테이블이 있습니다. 마우스 오버는 아무 것도하지 않는 것처럼 보입니다. 클릭, dblclick 및 포커스 않습니다. 제출 :Jeditable - onblur 오류 : 텍스트 상자 제출 및 클릭

난 단지에 onblur 이유는,         제출에 대한      를 입력 할 수 없습니다. 클릭이나 포커스를 사용하면 포커스 "텍스트", 다른 텍스트 "바로 뒤에"(다른 곳을 클릭하기 전에) 두 번째 "텍스트"가 열리고 -> 닫히면 편집 할 수 없게됩니다. 감사합니다. Jeditable 사용 1.4.3 onblur : submit을 주석 처리 할 때 텍스트 상자 오류가 발생하지 않습니다. 가능한 경우 마우스 오버 및 심지어 mouseout을 사용하여 제출하고 싶습니다. 코드는 여기에서 찾을 수 있습니다

...

http://pastebin.com/7FC7pD1x

답변

0

편집 :

나는 당신이 내가하는 데 문제가 있기 때문에 받고있어 이해 생각 끝에 가능한 해결 방법 동일한 문제 (아직 해결 방법을 찾지 못했습니다). 만약 내가 제대로 이해하고

는, 문제는 이것이다 :

각 셀에 onblur와 jedtiable에 바인딩 된 테이블이있는 경우 : 당신은 하나 개의 셀을 클릭하면 편집을 할 것으로 기대 제출 '을' 첫 번째 셀이 제출할 다른 셀을 클릭하면 두 번째 셀을 계속 편집 할 수 있습니다. 그러나 첫 번째 셀을 클릭하고 편집 한 다음 두 번째 셀을 클릭하고 (첫 번째 셀을 흐리게하고 첫 번째 셀을 제출 함) 두 번째 셀을 편집 한 다음 첫 번째 셀을 편집하자마자 두 번째 셀을 제출하면 흐림 이벤트가 수신되고 제출되고 닫힙니다.

첫 번째 셀이 제출되고 닫히지 만 두 번째 셀은 열어두고 편집 ​​할 수 있습니다. 첫 번째 셀을 제출할 때 왜 블러 이벤트가 발생하는지 잘 모르겠습니다. 이 jeditable의 해킹을 필요로하지만

편집 나는 가능한 해결책을 찾아 냈다.

입력란에 포커스를 놓는 jeditable의 코드 블록에 setTimeout을 추가하면 문제를 해결하는 것으로 보입니다.

$(":input:visible:enabled:first", form).focus(); 

과로 변경 :

는 jeditable이 줄을 찾으

그것을 할 것 같다하지만 난 더 나은 방법이 바라고 있어요
setTimeout(function() { 
    $(":input:visible:enabled:first", form).focus(); 
}, 500); 

.