2012-03-09 3 views
1

Инструменты: Visual Studio 2010Не удается сделать JQuery работать

Я пытаюсь научиться JQuery, но я не могу сделать этот пример работы даже после попытки в течение 2-х часов. Я знаю, что это довольно просто, но я не знаю, чего мне не хватает.

JQuery определяется здесь, внутри <head> тега:

<head runat="server"> 
<title></title> 
<script src="Scripts/jquery-1.7.1-vsdoc.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $("button").click(function() { 
      $("#divTest1").hide(); 
      $("p").hide(); 
     }); 
    }); 
</script> 
</head> 

<body> 
<form id="form1" runat="server"> 
<div> 
    <div id="divTest1"> 
     Itz too much I cant make it work...! 
    </div> 
    <h2> 
     This is a heading</h2> 
    <p> 
     This is a paragraph.</p> 
    <p> 
     This is another paragraph.</p> 
    <button> 
     Click me</button> 
</div> 
</form> 
</body> 

Обновления:

  • Я попробовал этот $ (документ) .ready (функция() {оповещения ("Здравствуйте"); }); И добавил точку останова в Firebug/Script после поджигатель загрузки страницы попали в библиотеку Jquery и вышел из него, но он не показал каких-либо всплывающих

  • Я просто изменился с «Jquery-1.7.1-vsdoc .js "к этому" jquery-1.7.1.js "и использовал простой скрипт, чтобы проверить, работает ли itz $(document).ready(function(){ alert("Hello"); } );, jquery работает.

+0

Если JavaScript был, как C#, то компилятор должен быть указал на проблему:/ –

+2

Если поместить окно предупреждения внутри $ (документ). Уже называется? – Liath

+2

Вы запустили его в отладке в Chrome или Firebug в Firefox?Эти инструменты неоценимы, когда дело доходит до JavaScript. –

ответ

4

Как отметил Мэтт Гранде, вы на самом деле не в том числе библиотеки JQuery в вашей странице. Вам нужно добавить следующее в head:

<script src="Scripts/jquery-1.7.1.js" type="text/javascript"></script> 

vsdoc версия просто добавить поддержку Intellisense.

Кроме того, использование e.preventDefault() предпочтительнее, чем возвращение false;

$(document).ready(function() { 
    $("button").click(function (e) { 
     e.preventDefault(); 
     $("#divTest1").hide(); 
     $("p").hide(); 
    }); 
}); 
+0

+1 для 'event.preventDefault()' –

+0

+1 и спасибо за точку "jquery-1.7.1.js". –

2

Добавить возвращение ложного в событие нажатия кнопки, в противном случае она будет представлять форму и обновите страницу, так как вы не определили типа кнопки, и это единственная кнопка.

$(document).ready(function() { 
    $("button").click(function() { 
     $("#divTest1").hide(); 
     $("p").hide(); 
     return false; 
    }); 
}); 

http://jsfiddle.net/wefKu/

+1

или добавить 'type =" кнопку "' в '

+0

Я не верю, что это решение, так как $ (document) .ready не называется – Liath

+0

@liath Я думаю, что это комбинация из двух. Без 'type =" button "или' return false', скрипт все равно не будет работать, даже если вызывается '$ (document) .ready()'. –

1
$(document).ready(function() { 
    $("button").click(function() { 
     $("#divTest1").hide(); 
     $("p").hide(); 

     return false; // after you click, stop the default form action to avoid the redirect 
    }); 
});​ 
1

вы можете попробовать

$(document).ready(function() { 
$("button").click(function (event) { 
    event.preventDefault(); 
    $("#divTest1").hide(); 
    $("p").hide(); 
}); 

});

+0

+1 для большой подсказки "event.preventDefault();" :) спасибо –

2

Вы jQuery не определены, вы добавили ссылку на документацию jQuery Visual Studio, а не фактическую библиотеку jQuery.

Вы пытались добавить фактическую ссылку jQuery?

<script src="Scripts/jquery-1.7.1.js" type="text/javascript"></script> 

или

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script> 

и не

<script src="Scripts/jquery-1.7.1-vsdoc.js" type="text/javascript"></script> 
+0

+1 за это, и вы на 100 процентов прав :) –

+0

vsdoc только для intellisense? , и мне, возможно, не придется добавлять его в любое время? –

Смежные вопросы