2011-10-24 22 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('の代わりに) ' –

+0

おそらく、私の推測ではjqueryとデバイスに問題があると思われます。jqueryの名前に" rc "ファイル。 「リリース候補」とは「おそらく動作しているかもしれないし、おそらく動作しないかもしれない」という意味です。調査の次の行は、#sliderのonclickハンドラをハードコーディングし、それが動作するかどうかを確認することです。そうであれば、jqueryがデバイスで完全に動作していないことを示しているようです。おそらく、addEventListenerのような特定の基底のDOMメソッドに依存するbindメソッドではうまくいかないかもしれませんし、あなたのデバイスがそれらをサポートしていない可能性もあります。 – dnuttle

答えて

1

jQueryのモバイルでは、$(document).ready()を使用しないでください。

ではなくpagecreateをバインドしてください:

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

この機能は#pageIDがロードをfinnishedたとjQueryモバイルによって強化されたときにトリガされます。

0

あなたのコードは大丈夫です。関数ラッパーをコメントアウトしようとする可能性がありますか?この

//$(function(){ 
    $("#slider").bind("change", function(event, ui) { 
     alert("test"); 
    }); 
//}); 
関連する問題