2011-10-24 121 views
0

我真的是一個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> 
+0

在黑暗中只是一個鏡頭,但你可能會發現,'$(窗口) .load('(而不是'$(document).ready('works。 –

+0

也許,但是我的猜測是這是jquery和設備的問題。請注意jquery名稱中的字母「rc」文件。 「發佈候選人」的意思是「也許它行得通,也許不行。」我的下一個調查將是對#slider的onclick處理程序進行硬編碼並查看是否有效。如果是這樣,那麼它似乎表明,jquery沒有完全在你的設備上工作。也許它不適合使用綁定方法,它依賴於某些底層DOM方法(如addEventListener),也可能您的設備不支持這些方法。 – dnuttle

回答

1

在jQuery Mobile的你不應該使用$(document).ready()

嘗試綁定pagecreate代替:

$('#pageID').live('pagecreate', function(){ /*code*/ }); 

此功能將觸發時#pageID已經finnished加載和jQuery Mobile的得到了提高。

0

你的代碼看起來沒問題。可能會嘗試註釋掉函數包裝器?

$(function(){ 
    $("#slider").bind("change", function(event, ui) { 
     alert("test"); 
    }); 
}); 

對此

//$(function(){ 
    $("#slider").bind("change", function(event, ui) { 
     alert("test"); 
    }); 
//}); 
相關問題