试图逃离jquery mobile的一部分页面,因为我已经有一个不同的插件处理页面turn.js的一部分,但我似乎无法逃脱它...这是一个动态的div由另一个jquery插件处理。这是一个小提琴: http://jsfiddle.net/adamsurfari/DpQQV/这就是翻书应该如何运作http://jsfiddle.net/blasten/A9a7E/
我已经在使用
了<div data-enhance="false" data-role="none" id="flipbook">
</div>
但图像仍然没有出现。有没有一种不同的方法来逃避div和jquery mobile里面的内容?
页面配置:
<title></title>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="zip/zip.js"></script>
<script type="text/javascript" src="zip/deflate.js"></script>
<script type="text/javascript" src="zip/zip-ext.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.css" />
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>
<script>
$(document).on('mobileinit', function () {
$.mobile.ignoreContentEnabled = true;
});
</script>
<script type="text/javascript" src="turn.js"></script>
这是turn.js的正常输出:
<div data-enhance="false" id="flipbook"
style="position: relative; width: 1024px; height: 360px; -webkit-transform: translate3d(0px, 0px, 0px);">
<div class="turn-page-wrapper" page="1"
style="position: absolute; overflow: hidden; width: 512px; height: 360px; top: 0px; right: 0px; left: auto; bottom: auto; z-index: 56;">
<div style="position: absolute; top: 0px; left: 0px; overflow: hidden; z-index: auto; width: 626px; height: 626px; -webkit-transform-origin: 0% 100%;">
<div data-enhance="false" class="turn-page p1"
style="width: 512px; height: 360px; position: absolute; top: 0px; left: 0px; bottom: auto; right: auto; -webkit-transform-origin: 0% 100%;">
<img width="512px" src="filesystem:http://localhost:8080/persistent/LEGO/CATALOGO%202013_001.jpg"></div>
</div>
<div style="top: 0px; left: 0px; overflow: hidden; z-index: 1; width: 512px; height: 360px; background-image: -webkit-gradient(linear, 100% 100%, 100% 100%, color-stop(0.8, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.298039)), to(rgba(0, 0, 0, 0))); display: none;"></div>
</div>
<div style="pointer-events: none; position: absolute; top: -50px; left: -8px; overflow: visible; z-index: auto; display: none;">
<div style="position: absolute; top: 50px; left: 520px; overflow: hidden; z-index: 56; width: 626px; height: 626px; -webkit-transform-origin: 0% 100%; -webkit-transform: translate3d(512px, -266px, 0px) rotate(-90deg); display: none;">
<div style="position: absolute; top: auto; left: 0px; overflow: visible; z-index: auto; width: 512px; height: 360px; right: auto; bottom: 0px; -webkit-transform-origin: 0% 100%; -webkit-transform: rotate(90deg) translate3d(0px, 360px, 0px);">
<div style="cursor: default; width: 360px; height: 512px; -webkit-transform-origin: 0% 0%; -webkit-transform: rotate(-90deg);">
<div data-enhance="false" class="turn-page p2"
style="width: 512px; height: 360px; -webkit-transform-origin: 0% 0%;">
<div class="turn-page p4" style="width: 200px; height: 300px;"> Page 2</div>
</div>
<div style="position: absolute; top: 0px; left: 0px; overflow: hidden; z-index: 1; width: 360px; height: 512px; background-image: -webkit-gradient(linear, 0% 0%, 0% 0%, from(rgba(0, 0, 0, 0)), color-stop(0.8, rgba(0, 0, 0, 0.2)), to(rgba(255, 255, 255, 0.2)));"></div>
</div>
</div>
</div>
</div>
<div class="turn-page-wrapper" page="2"
style="position: absolute; overflow: hidden; width: 512px; height: 360px; top: 0px; left: 0px; right: auto; bottom: auto; z-index: 0; display: none;"></div>
<div class="turn-page-wrapper" page="3"
style="position: absolute; overflow: hidden; width: 512px; height: 360px; top: 0px; right: 0px; left: auto; bottom: auto; z-index: 55;">
<div data-enhance="false" class="turn-page p3" style="width: 512px; height: 360px;">
<div class="turn-page p4" style="width: 200px; height: 300px;"> Page 3</div>
</div>
</div>
这是jquerymobile与data-enhanced =&#34; false&#34;的输出,jquerymobile仍然在数据增强内部的代码中混淆=&#34; false&#34; DIV:
<div data-enhance="false" id="flipbook"
style="position: relative; width: 400px; height: 300px; -webkit-transform: translate3d(0px, 0px, 0px);">
<div class="turn-page-wrapper ui-page ui-body-c" tabindex="0"
style="position: absolute; overflow: hidden; width: 200px; height: 300px; top: 0px; right: 0px; left: auto; bottom: auto; z-index: 8;">
<div style="position: absolute; top: 0px; left: 0px; overflow: hidden; z-index: auto; width: 361px; height: 361px; -webkit-transform-origin: 0% 100%;">
<div class="hard turn-page p1"
style="width: 200px; height: 300px; position: absolute; top: 0px; left: 0px; bottom: auto; right: auto; -webkit-transform-origin: 0% 100%;">
Turn.js
</div>
</div>
<div style="top: 0px; left: 0px; overflow: hidden; z-index: 1; width: 200px; height: 300px; background-image: -webkit-gradient(linear, 100% 100%, 100% 100%, color-stop(0.8, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.298039)), to(rgba(0, 0, 0, 0))); display: none;"></div>
</div>
<div style="pointer-events: none; display: none; position: absolute; top: -193.1875px; left: -15px; overflow: visible; z-index: auto;">
<div style="position: absolute; top: 193.1875px; left: 215px; overflow: hidden; z-index: 8; display: none; width: 361px; height: 361px; -webkit-transform-origin: 0% 100%; -webkit-transform: translate3d(200px, -61px, 0px) rotate(-90deg);">
<div style="position: absolute; top: auto; left: 0px; overflow: visible; z-index: auto; width: 200px; height: 300px; right: auto; bottom: 0px; -webkit-transform-origin: 0% 100%; -webkit-transform: rotate(90deg) translate3d(0px, 300px, 0px);">
<div style="cursor: default; width: 300px; height: 200px; -webkit-transform-origin: 0% 0%; -webkit-transform: rotate(-90deg);">
<div style="position: absolute; top: 0px; left: 0px; overflow: hidden; z-index: 1; width: 300px; height: 200px; background-image: -webkit-gradient(linear, 0% 0%, 0% 0%, from(rgba(0, 0, 0, 0)), color-stop(0.8, rgba(0, 0, 0, 0.2)), to(rgba(255, 255, 255, 0.2)));"></div>
</div>
</div>
</div>
</div>
<div class="turn-page-wrapper ui-page ui-body-c" tabindex="0"
style="position: absolute; overflow: hidden; width: 200px; height: 300px; top: 0px; left: 0px; right: auto; bottom: auto; z-index: 0; display: none;">
<div class="hard turn-page p2" style="width: 200px; height: 300px; -webkit-transform-origin: 0% 0%;"></div>
</div>
<div class="turn-page-wrapper ui-page ui-body-c" tabindex="0"
style="position: absolute; overflow: hidden; width: 200px; height: 300px; top: 0px; right: 0px; left: auto; bottom: auto; z-index: 7;">
<div id="page1-test" class="turn-page p3" style="width: 200px; height: 300px;"> Page 1 <a href="#"
data-role="button"
id="test-button">Dynamic
Button</a></div>
</div>
<div class="turn-page-wrapper ui-page ui-body-c" tabindex="0"
style="position: absolute; overflow: hidden; width: 200px; height: 300px; top: 0px; left: 0px; right: auto; bottom: auto; z-index: 0; display: none;">
<div class="turn-page p4" style="width: 200px; height: 300px;"> Page 2</div>
</div>
<div class="turn-page-wrapper ui-page ui-body-c" tabindex="0"
style="position: absolute; overflow: hidden; width: 200px; height: 300px; top: 0px; right: 0px; left: auto; bottom: auto; z-index: 0; display: none;">
<div class="turn-page p5" style="width: 200px; height: 300px;"> Page 3</div>
</div>
可以看到jqueryMobile仍然在使用div中的代码混乱:
例如:
<div class="turn-page-wrapper" page="1"
转变为:
<div class="turn-page-wrapper ui-page ui-body-c" tabindex="0"
答案 0 :(得分:3)
改变这个:
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>
<script>
$(document).on('mobileinit', function () {
$.mobile.ignoreContentEnabled = true;
});
</script>
<script type="text/javascript" src="turn.js"></script>
到此:
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script>
$(document).on('mobileinit', function () {
$.mobile.ignoreContentEnabled = true;
});
</script>
<script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>
<script type="text/javascript" src="turn.js"></script>
必须在初始化jquery Mobile之前初始化
工作示例:http://jsfiddle.net/Gajotres/UZwpj/
<!DOCTYPE html>
<html>
<head>
<title>jQM Complex Demo</title>
<meta name="viewport" content="width=device-width"/>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<script src="http://www.dragan-gaic.info/js/jquery-1.8.2.min.js"></script>
<script>
$(document).on('mobileinit', function () {
$.mobile.ignoreContentEnabled = true;
});
</script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
</head>
<body>
<div data-role="page" id="index">
<div data-theme="a" data-role="header" data-enhance="false">
<h3>
First Page
</h3>
<a href="#second" class="ui-btn-right">Next</a>
</div>
<div data-role="content">
<a href="#" data-role="button" id="test-button">Test button</a>
<!-- Every content inside this div will not be enhanced -->
<div data-enhance="false">
<a href="#" data-role="button" id="test-button">Test button</a>
<div>
<a href="#" data-role="button" id="test-button">Test button</a>
</div>
</div>
<a href="#" data-role="button" id="test-button">Test button</a>
</div>
<div data-theme="a" data-role="footer" data-position="fixed" data-enhance="false">
<h3>
Footer
</h3>
</div>
</div>
</body>
</html>
动态添加内容的唯一可行解决方案是data-role =“none”属性,因为data-enhance =“false”仅适用于从文件加载的内容。