0

mvc 3 .net 프로젝트를 가지고 jquery 모바일을 구현하려고하는데 사용자 정의 js와 관련된 몇 가지 문제가 있습니다. 여기에 _Layout.Mobile 코드의 일부가 있습니다. .cshtmljquery mobile mvc 3 레이아웃 부분보기

<body> 
<div data-role="page" id="div_layout"> 
<div data-role="header"> 
    <a href="/" data-icon="home">Inicio</a> 
    <h1>Title</h1> 
</div> 
<div data-role="content"> 
    @Html.Partial("_LogOnPartial") 
    @RenderBody() 
</div> 
<div data-role="footer"> 
    <h4>Footer text</h4> 
</div> 
</div> 

<script type="text/javascript">...</script> 
<script type="text/javascript" src= "@Url.Content("~/Content/js/utilities.js")"> 
</script> 
</body> 

결과 HTML은 (이미지 링크)입니다 :

http://i.imgur.com/1rQyx.png

_LogOnPartial 부분보기가 utilities.js 파일의 일부 기능을 사용하여 점은이 파일이 있어야합니다 JS이다 부분적인보기 후에, 그렇지 않다면, 그것은 여기까지 모든 것이 작동합니다.

http://i.imgur.com/inCEs.png

그래서 내용 : 나는 데이터 역할을 본문 섹션에있는 모든 코드를 양식을 제출할 때 미세하지만 = "내용"중복과 하단에 위치, 여기에 HTML 결과 (이미지 링크)입니다 _LogOnPartial 부분보기에서 작동을 멈추고 설정 파일에 ajaxEnabled가 있습니다. true로 설정하면 모든 기능이 작동하지만 jq 모바일 전환을 사용하고 싶습니다. 또한 ajaxEnabled를 사용하여 메시지를로드하는 것을 표시 할 수 없습니다. false, Somebody 이 문제를 해결하는 데 도움이 되셨습니까? 미리 감사드립니다. 답에 대한

좋아 감사의 _LogOnPartial 부분보기 코드는 utilities.js의 내용

<div id = "loginbox"> 
    <div class="User"> 
     <label for="login_user">Usuario:</label> 
     <input id="login_user" name="login_user" type="text" required id="basic" value="" data-mini="true" /> 
    </div> 
    <div class="Password"> 
     <label for="login_password">Contraseña:</label> 
     <input id="login_password" name="login_password" type="password" required id="basic" value="" data-mini="true" /> 
    </div> 
    <div class="boton_login"> 
     <button type="submit" id="login" data-theme="a">Login</button> 
    </div> 
    <div id="login_error_message"> 
     <span id="login_error_message_desc"></span> 
    </div> 
</div> 

부분은 처음 페이지로드는 잘 작동 할 때

$("#login").click(function() { 
    alert('this never happens'); 
    //something 
}); 

입니다 ,하지만 작동을 멈 춥니 다. (아약스가 내용을 복제 할 때)

답변

0

더 이상의 코드가 없으면 해결책을 말하기 어렵습니다. utilities.js는 무엇을합니까? LogOnPartial은 정확히 무엇입니까?

중복 된 data-role = "content"에 직면 한 문제는 jquery mobile의 DOM 캐싱 때문입니다. http://jquerymobile.com/test/docs/pages/page-cache.html Ajax를 사용 중지하면이 기능은 더 이상 필요하지 않으므로 더 이상 문제가 발생하지 않습니다.

How does one disable Caching in jQuery Mobile UI이 페이지는 숨겨진 페이지를 제거하는 방법을 보여줍니다.

+0

Tanks for answer, _LogOnPartial 부분 뷰에 사용자 정의 js를 넣으려고했습니다. 사이트가 처음 제대로로드되면 내용이 DOM에 삽입 될 때 은 jquery 모바일 필터처럼 내용이 포함되어 있지 않으므로 jquery 이벤트를 체크 아웃 할 것입니다. –

0

콘텐츠가 복제되는 것이 아니라 새 콘텐츠가로드 된 후 콜백을 등록하지 않는 것이 문제입니다. 클릭 핸들러는 초기 콘텐츠가로드되었을 때 $('#login')으로 설정되었지만 새로운 콘텐츠에 대해서는 해당 핸들러를 다시 설정해야합니다.

체크 아웃에 가입하는 이벤트에 대한 이벤트 문서 : http://jquerymobile.com/demos/1.1.1/docs/api/events.html

은 무엇 jQuery를 모바일 수행하면 URL에 AJAX 요청을, 그리고 DOM에 내용을 삽입합니다. 그런 다음 새로운 콘텐츠를 연결해야합니다.

관련 문제