jQuery nyromodal + asp.net + updatepanel/ajax -EndshowContent가 작동하지 않음, 플리커, 초점을 잃습니다.

StackOverflow https://stackoverflow.com/questions/855481

  •  21-08-2019
  •  | 
  •  

문제

asp.net 내에서 jQuery nyromodal 플러그인을 사용하고 있습니다. 나는 Nyromodal을 좋아하고 전반적으로 그것의 전반적으로 매우 잘 작동합니다.

그러나 Nyromodal이로드 된 후 페이지 내용의 첫 번째 텍스트 입력 요소에 초점을 맞추기 위해 EndShowContent 콜백을 사용하고 있습니다. 이를 달성하기 위해 페이지에 Nyromodal 팝업을 시작하는 다음 코드가 있습니다.

$ (function () {$ .fn.nyromodal.settings.endshowContent = function (elt, settings) {$ ( 'input : text : first', elt.content) .focus ();};});

모달이 나타날 때 첫 번째 텍스트 필드가 순간적으로 집중되기 때문에 그 종류의 작동을 말할 수 있습니다. 그러나 그것은 일종의 깜박임과 다시 초점을 잃습니다. 마치 Nyromodal이 여전히 완전히로드되지 않았고 다른 일이 집중을 되 찾는 것처럼 결정한 것처럼 보입니다. 아니면 UpdatePanel이 간섭합니까? (왜 그런지 모르겠다). Nyromodal의 EndshowContent 호출이 발생한 후 UpdatePanel의 부풀어 오른 자동 생성 Ajax JS 호출이 무언가를하고있을 가능성이 있습니까?

모든 도움이나 통찰력에 감사드립니다.

도움이 되었습니까?

해결책

여기에서 문제를 재현하려고 노력했습니다. http://jsbin.com/igibo

문제를 복제 할 수 없으므로 코드에 문제가 발생하는 다른 것이 있다고 생각합니다.

레크리에이션을 통해 편집 해보십시오 http://jsbin.com/igibo/edit 문제를 복제하기 위해 문제를 해결할 수 있습니다.

추신 : 문제를 정제하는 것이 좋지만 새로운 답변에 더 많은 정보를 추가하는 대신 질문을 업데이트하십시오. (그들은 기술적으로 답이 아닙니다)

다른 팁

코드를 래핑해 보셨습니까?

$(document).ready(function() { // put all your jQuery goodness in here. });

jQuery 문서 준비 튜토리얼

DOM이 아직 완전히로드되지 않았을 가능성이 있습니다.

감사합니다 Brianpeiris! 당신은 이것을 믿지 않을 것입니다.

JSBIN에서 코드를 가져 와서 로컬로 복사 했으므로 내 테스트 페이지와 함께 샘플 코드를 나란히했습니다. 테스트 페이지에서 나는 nyromodal을 시작하는 오래된 방법을 사용하고있었습니다.

<a href="modal.html" target="_blank" class="nyroModal">Launch modal</a>

예제 등에서 웹 전체 에서이 코드를 찾았습니다. 그러나 그것은 Nyromodal과 함께 모델 팝업을 시작하는 오래된/dodgy/superded 방법 인 것 같습니다!

나는 단순히 정상/깨끗한 하이퍼 링크를 만들고 클래스를 제거하고 쓰레기를 타겟팅 한 다음 나에게 보낸 것과 같은 스타일을 사용했습니다.

$('a').nyroModal();

이제 모든 문제가 사라졌습니다. 이것은 모든 것을 고쳤습니다! :) 또한 창 시작의 애니메이션은 훨씬 부드럽습니다.

정말 고마워. 이 플러그인에 대해 문서화가 약간 일치하지 않는 것을 발견했습니다. 당신은 나를 올바른 방향으로 지적하는 데 도움을주었습니다. 이 방법을 사용하여 초점은 완벽하고 매우 매끄럽게 작동합니다.

건배

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top