Jquery mobile jQuery Mobile在使用data role=none时取消绑定、删除或忽略刷新调用
我试图忽略所有要刷新的调用(因为在jQuery Mobile中设置data role=“none”时,它们会生成错误),而不删除实际调用Jquery mobile jQuery Mobile在使用data role=none时取消绑定、删除或忽略刷新调用,jquery-mobile,Jquery Mobile,我试图忽略所有要刷新的调用(因为在jQuery Mobile中设置data role=“none”时,它们会生成错误),而不删除实际调用 <div data-role="none"> <label for="select-choice-1" class="select">Choose shipping method:</label> <select name="select-choice-1" id="select-choice-1" d
<div data-role="none">
<label for="select-choice-1" class="select">Choose shipping method:</label>
<select name="select-choice-1" id="select-choice-1" data-role="none">
<option value="standard">Standard: 7 day</option>
<option value="rush">Rush: 3 days</option>
<option value="express">Express: next day</option>
<option value="overnight">Overnight</option>
</select>
</div>
我收到的错误是:
Uncaught Error: cannot call methods on selectmenu prior to initialization; attempted to call method 'refresh'
如果删除数据role=“none”,则不存在此错误
是否有方法忽略/覆盖刷新调用?我尝试使用jQuery.unbind和.off,但没有成功,例如:
$(document).on("pageinit", "#mypage", function( event ) {
$('#select-choice-1').unbind('refresh');
});
我不想删除Javascript中的刷新调用,除非我必须这样做,因为我希望以后可以很容易地重新应用jQuery Mobile样式。有人能解决这个问题吗?试试:
if($('#select-choice-1').selectmenu()){
$('#select-choice-1').selectmenu('refresh');
}
或
如果对象不存在,则无法调用该对象的方法。如果要禁用
.selectmenu()
小部件,则需要在mobileinit
上全局修改该方法。此外,不需要添加数据role=“none”
这样,select
标记就不会被jQM增强/设置样式,而是保持不变(原生外观)
如果这样做,则不应使用。选择菜单(“刷新”)
,因为小部件已禁用
要告诉jQM不要设置标签的样式,请将全局修改绑定到mobileinit
,将它们添加到jQuery之后和jQuery Mobile JS库之前
jQuery Mobile 1.3.2及以下版本
<script src="jquery-1.9.1.min.js"></script>
<script>
$(document).on("mobileinit", function() {
$.mobile.page.prototype.options.keepNative = "select";
});
</script>
<script src="jquery.mobile-1.3.2.min.js"></script>
$(文档).on(“mobileinit”,函数(){
$.mobile.page.prototype.options.keepNative=“选择”;
});
jquerymobile1.4
<script src="jquery-1.10.2.min.js"></script>
<script>
$(document).on("mobileinit", function() {
$.mobile.keepNative = "select";
});
</script>
<script src="jquery.mobile-1.4.0-rc.1.min.js"></script>
$(文档).on(“mobileinit”,函数(){
$.mobile.keepnactive=“选择”;
});
你想要实现什么?没有jqm样式的本机selectmenu?是否jqm样式,但我仍希望能够调用“刷新”。这是因为应用程序中的默认行为是使用jqm样式,但我希望在某些情况下禁用该样式并应用其他样式。如果要忽略jqm样式,则不需要使用刷新方法。因为您禁用了.selectmenu()
小部件,因此会出现错误。
<script src="jquery-1.9.1.min.js"></script>
<script>
$(document).on("mobileinit", function() {
$.mobile.page.prototype.options.keepNative = "select";
});
</script>
<script src="jquery.mobile-1.3.2.min.js"></script>
<script src="jquery-1.10.2.min.js"></script>
<script>
$(document).on("mobileinit", function() {
$.mobile.keepNative = "select";
});
</script>
<script src="jquery.mobile-1.4.0-rc.1.min.js"></script>