Javascript работает в jsfiddle, но не на моей странице - PullRequest
0 голосов
/ 24 октября 2011

Я действительно новичок в Javascript и только начал работать с Jquery mobile.

Моя проблема в том, что у меня есть рабочий пример в 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>

Ответы [ 3 ]

1 голос
/ 24 октября 2011

В jQuery Mobile вы не должны использовать $(document).ready().

Попробуйте вместо этого связать создание страницы:

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

Эта функция сработает, когда #pageID завершит загрузку и будет завершен.улучшено jQuery Mobile.

0 голосов
/ 27 октября 2011

Нанинг правильный, см. Этот пост для более подробной информации

http://operationmobile.com/using-jquery-mobile-remember-to-use-pagecreate-instead-of-document-ready/

0 голосов
/ 24 октября 2011

Ваш код выглядит нормально.может попытаться закомментировать функцию оболочки?

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

К этому

//$(function(){
    $("#slider").bind("change", function(event, ui) {
        alert("test");
    });
//});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...