使用jQuery Mobile,如何防止它添加自己的元素和类?例如,我的原始HTML是:
<div id="main-table">
<ul>
<li>
<form method="get">
<input name="SearchOrders" class="myInput" type="text" value="" />
<input name="SendSearch" class="redButton searchButton" type="submit" value="" />
</form>
</li>
</ul>
</div>
但jQuery Mobile增加了一些div和类:
<div id="main-table">
<ul class="my-account myTitle">
<li>
<form method="get">
<div class="ui-input-text ui-body-inherit ui-corner-all ui-shadow-inset">
<input name="SearchOrders" class="myInput" type="text" value="">
</div>
<div class="ui-btn ui-input-btn ui-corner-all ui-shadow">
<input name="SendSearch" class="redButton searchButton" type="submit" value="">
</div>
</form>
</li>
</ul>
</div>
如果我使用data-role =&#34; none&#34;在每个元素上,jQuery Mobile都不会修改我的标记,但我正在寻找一个我不需要修改HTML的解决方案。
我试过了:
$(document).on('mobileinit',function(){
$.mobile.keepNative = 'input';
});
但这不起作用。
我也尝试过:
data-enhance="false"
在父元素上,但也不起作用。
答案 0 :(得分:0)
来自jQueryMobile文档:Configuring Defaults:
mobileinit事件
当jQuery Mobile启动时,它会触发一个mobileinit事件 文件对象。要覆盖默认设置,请绑定到mobileinit。
这里的关键点是:配置覆盖应该在jQuery Mobile启动时可用,因此您应该在加载jQuery Mobile文件之前将配置脚本放在头部。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
<script>
$(document).on("mobileinit", function() {
$.mobile.keepNative = "input";
});
</script>
<script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
</head>
<body>
<div data-role="page" id="page-1">
<div data-role="header" data-position="fixed">
<h1>Native Inputs</h1>
</div>
<div role="main" class="ui-content">
<div id="main-table">
<ul>
<li>
<form method="get">
<input name="SearchOrders" class="myInput" type="text" value="" />
<input name="SendSearch" class="redButton searchButton" type="submit" value="" />
</form>
</li>
</ul>
</div>
</div>
</div>
</body>
</html>
&#13;