Javascript在JSFIDLE中工作,但在我的页面上不工作
我真的是一个Javascript初学者,刚刚开始使用Jquery mobile 我的问题是,我在JSFIDLE中有一个工作示例,但当我将其复制到我的页面时,它就不再工作了。 在JSFIDLE中,只有当我在菜单中选择“onLoad”选项时,它才起作用。所以我猜我把脚本放错了,或者我必须在加载页面时再次调用它 我用Javascript在JSFIDLE中工作,但在我的页面上不工作,javascript,jquery-mobile,Javascript,Jquery Mobile,我真的是一个Javascript初学者,刚刚开始使用Jquery mobile 我的问题是,我在JSFIDLE中有一个工作示例,但当我将其复制到我的页面时,它就不再工作了。 在JSFIDLE中,只有当我在菜单中选择“onLoad”选项时,它才起作用。所以我猜我把脚本放错了,或者我必须在加载页面时再次调用它 我用$(document).ready(function(){})包装函数和$(函数(){})因为我读过这篇文章,所以在加载站点时会启动脚本 在jquerymobile中是否有包装代码的方法?
$(document).ready(function(){})包装函数
和$(函数(){})代码>因为我读过这篇文章,所以在加载站点时会启动脚本
在jquerymobile中是否有包装代码的方法?还是我在Javascript基础中犯了错误
非常感谢,
斯文
以下是一个例子:
这是页面:
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0rc2/jquery.mobile-1.0rc2.min.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0rc2/jquery.mobile-1.0rc2.min.js"></script>
<script type="text/javascipt">
$(function(){
$("#slider").bind("change", function(event, ui) {
alert("test");
});
});
</script>
</head>
<body>
<div data-role="page">
<div data-role="content">
<p>Page content goes here.</p>
<div data-role="fieldcontain">
<label for="slider">Input slider:</label>
<input type="range" name="slider" id="slider" value="0" min="0" max="255" />
</div>
</div><!-- /content -->
</div><!-- /page -->
</body>
</html>
页面标题
$(函数(){
$(“#滑块”).bind(“更改”,函数(事件,用户界面){
警报(“测试”);
});
});
页面内容在这里
输入滑块:
在jQuery Mobile中,您不应该使用$(document).ready()
请尝试绑定pagecreate:
$('#pageID').live('pagecreate', function(){ /*code*/ });
当#pageID
加载完毕并被jQuery Mobile增强后,将触发此功能。您的代码看起来正常。是否可以尝试注释掉函数包装器
$(function(){
$("#slider").bind("change", function(event, ui) {
alert("test");
});
});
对此
//$(function(){
$("#slider").bind("change", function(event, ui) {
alert("test");
});
//});
Naning是对的,更多细节请参见本文
只是一个暗箱操作,但您可能会发现$(窗口)。load(
(而不是$(文档)。ready(
可以工作。也许可以,但我的猜测是,这是jquery和设备的问题。请注意jquery文件名称中的字母“rc”。“Release candidate”表示“可能工作,可能不工作。”我的下一步调查将是为#slider硬编码一个onclick处理程序,看看它是否有效。如果有效,那么它似乎表明jquery在您的设备上没有完全工作。可能它与bind方法不兼容,bind方法依赖于某些底层DOM方法,如addEventListener,可能您的设备不支持我喜欢这些。