我真的是一個Javascript初學者,剛開始使用Jquery mobile。Javascript在jsfiddle中工作,但不在我的頁面上
我的問題是,我在jsfiddle中有一個工作示例,但是當我將它複製到我的頁面時,它不再工作。 在jsfiddle中它只在我選擇菜單中的「onLoad」選項時才起作用。所以我想我把腳本放在了錯誤的位置,或者在頁面加載時我必須再次調用腳本。
我用$(document).ready(function() { });
和$(function(){});
包裝了這個函數,因爲我讀到這個會在網站加載完成後啓動腳本。
是否有方法我必須在JQuery Mobile中使用來包裝我的代碼?或者我在Javascript基礎知識中犯了一個錯誤?
非常感謝, 斯文
這裏是例子: http://jsfiddle.net/FtXWA/
這是頁面:
<!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>
在黑暗中只是一個鏡頭,但你可能會發現,'$(窗口) .load('(而不是'$(document).ready('works。 –
也許,但是我的猜測是這是jquery和設備的問題。請注意jquery名稱中的字母「rc」文件。 「發佈候選人」的意思是「也許它行得通,也許不行。」我的下一個調查將是對#slider的onclick處理程序進行硬編碼並查看是否有效。如果是這樣,那麼它似乎表明,jquery沒有完全在你的設備上工作。也許它不適合使用綁定方法,它依賴於某些底層DOM方法(如addEventListener),也可能您的設備不支持這些方法。 – dnuttle