javascript jQuery停止了吗?
我对javascript jQuery停止了吗?,javascript,jquery,jquery-mobile,action,document-ready,Javascript,Jquery,Jquery Mobile,Action,Document Ready,我对.ready()函数执行了一些Jquery(mobile)操作,以便使用正确的值初始化html元素(作为$def var传递): 如果我对这个操作进行注释(请参见脚本的结尾),那么脚本工作得非常完美(但显然没有必要的html“select”初始值) 如果我使用这些操作,脚本运行正常(直到最后一个操作),但它永远不会到达下一个语句“get_status()” <script type="text/javascript"> var gauge_humidity1,
.ready()
函数执行了一些Jquery(mobile)
操作,以便使用正确的值初始化html元素(作为$def var传递):
如果我对这个操作进行注释(请参见脚本的结尾),那么脚本工作得非常完美(但显然没有必要的html“select”初始值)
如果我使用这些操作,脚本运行正常(直到最后一个操作),但它永远不会到达下一个语句“get_status()
”
<script type="text/javascript">
var gauge_humidity1,
gauge_temp1,
gauge_temp2,
gauge_temp3;
jQuery(document).ready(function() {
//### EVERYTHING WORK IF I COMMENT ALL THIS JQUERY'S ###
//initiate sliders
//OLD jQuery('#select_mode').val('$mode').slider('refresh');
jQuery('#select_mode').val('$mode')
jQuery('#select_r1_water').val('$r[0]');
jQuery('#select_r2_heat').val('$r[1]');
jQuery('#select_r345_window').val('$r[2]');
jQuery('#select_r6_shadow').val('$r[5]');
//initiate select_light
jQuery('#select_light').val('$s_ini[2][5]');
### END OF COMMENT ###
### IF I UNCOMMENT THE GET_STATUS() NEVER RUNS ###
get_status();
});
</script>
var gauge_湿度1,
仪表温度1,
仪表2,
量表3;
jQuery(文档).ready(函数(){
//###如果我对所有JQUERY进行注释,一切都会正常###
//启动滑块
//旧jQuery('select#u mode').val('$mode').slider('refresh');
jQuery(“#选择_模式”).val(“$mode”)
jQuery('select_r1_water').val('r[0]');
jQuery('#select_r2_heat').val('$r[1]');
jQuery('#select_r345_window').val('$r[2]');
jQuery('#select_r6_shadow').val('$r[5]');
//启动选择灯
jQuery('#select_light').val('$s#u ini[2][5]);
###评论结束###
###如果我取消注释,GET_STATUS()将永远不会运行###
获取_状态();
});
控制
莫多
手册
自动的
我认为问题在于$(document).ready()
,相当于$(document).ready()
在JQM中是$(document).bind('pageinit')
只需查看jQuery Mobile文档:
重要提示:使用$(document.bind('pageinit'),而不是$(document.ready()
在jQuery中学习的第一件事是调用
$(document).ready()函数,以便在
DOM已加载。但是,在jQuery Mobile中,Ajax用于加载
导航时,将每个页面的内容导入DOM,并准备好DOM
处理程序仅对第一页执行。每当
加载并创建新页面后,可以绑定到pageinit事件。
本页底部详细解释了此事件
编辑:
<script type="text/javascript">
jQuery('#page_settings').bind('pageinit', function() {
// Your code here
});
</script>
jQuery('#page_settings').bind('pageinit',function(){
//你的代码在这里
});
解决方案:
刚刚在html div data role=“page”附近添加了“pageinit”,并应用于“#page_settings”页面(而不是文档),因为控件是
<div data-role="page" id="page_settings">
<script type="text/javascript">
jQuery('#page_settings').bind('pageinit', function() {
//initiate sliders
jQuery('#select_mode').val('$mode').slider('refresh');
jQuery('#select_r1_water').val('$r[0]').slider('refresh');
jQuery('#select_r2_heat').val('$r[1]').slider('refresh');
jQuery('#select_r345_window').val('$r[2]').slider('refresh');
jQuery('#select_r6_shadow').val('$r[5]').slider('refresh');
//initiate select_light
jQuery('#select_light').val('$s_ini[2][5]').selectmenu('refresh');
});
</script>
jQuery('#page_settings').bind('pageinit',function(){
//启动滑块
jQuery('select#mode').val('$mode').slider('refresh');
jQuery('#select_r1_water').val('$r[0]).slider('refresh');
jQuery('#select_r2_heat').val('$r[1]).slider('refresh');
jQuery('#select_r345_window').val('$r[2]).slider('refresh');
jQuery('#select_r6_shadow').val('$r[5]).slider('refresh');
//启动选择灯
jQuery('select#u light').val('s#u ini[2][5])。selectmenu('refresh');
});
< /代码>控制台中的任何错误?考虑在www. jsFIDDL.NET上发布一个示例,使我们可以轻松地查看什么是有效的,错误是什么(如果有的话):)首先在代码>成功中删除额外逗号:函数(数据){},< /代码>在JQM中不使用<代码> .Read()<代码>。如果您希望在文档
初始化并插入DOM后立即触发它,请使用pageinit
事件。感谢大家!乔(这个提示非常有用)奥马尔(它成功了)
<div data-role="page" id="page_settings">
<script type="text/javascript">
jQuery('#page_settings').bind('pageinit', function() {
//initiate sliders
jQuery('#select_mode').val('$mode').slider('refresh');
jQuery('#select_r1_water').val('$r[0]').slider('refresh');
jQuery('#select_r2_heat').val('$r[1]').slider('refresh');
jQuery('#select_r345_window').val('$r[2]').slider('refresh');
jQuery('#select_r6_shadow').val('$r[5]').slider('refresh');
//initiate select_light
jQuery('#select_light').val('$s_ini[2][5]').selectmenu('refresh');
});
</script>