2013-06-28 3 views
2

Я новичок в jquery. Помогите мне решить эту вещьНевозможно вызвать внешний javascript на странице aspx

У меня есть этот скрипт в отдельном JS файл

$(document).ready(function() { 
$("#btn_click").click(function() { 
    $("#SecondLine").hide(); 
}); 
}); 

Я хочу, чтобы выполнить этот сценарий в один клик на элементе с идентификатором = «btn_click»

<form id="form1"> 
<div> 
    <h2>This is a heading</h2> 
    <p>This is a paragraph.</p> 
    <p id="SecondLine">This is another paragraph.</p>  
    <p1 id="btn_click">Click me</p1> 
</div> 
</form> 

Код отлично работает, когда я включаю весь скрипт между тегом заголовка на той же странице aspx. но он не работает, когда у меня есть этот код в отдельном файле js. Примечание: я включил скрипт в страницу aspx.

<script src="../Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script> 
<script src="../Scripts/jquery-1.4.1.js" type="text/javascript"></script> 
<script src="../Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> 
<script src="../JQuery/JQuery_HidingText.js" type="text/javascript"></script> 

Все еще не работает :(.Did я пропустил что-нибудь?

+2

путь верный? –

+5

Включите только одну версию jquery (полный или минимум); проверьте консоль, вы видите какую-либо ошибку? Проверьте свою сетевую консоль (например, 404 ошибки). –

+0

да Дани. Я просто перетащил и сбросил файл сценария. Так что путь не будет проблемой, я думаю. – Bharath

ответ

0

Попробуйте использовать

pageLoad() 

вместо

$(document).ready(function() 
{ 
    //.. etc 
}); 

В программе PagesLoad используется другой метод (таймауты), чтобы проверить, готова ли DOM. У меня был сценарий, который не удался с $(document).ready, но работал с pageLoad - pageLoad, поразив долю позже, что имело значение. Это был только вопрос в IE для меня

Во всяком случае, не может работать, но легко попробовать и стоит идти я считаю

См here подробнее Pageload

И, конечно, удачи

Другая мысль

Изменить расположение ссылки на файл внешнего скрипта непосредственно перед закрывающим тегом тела, а не в голове. Опять же, чтобы дать разметке лучшую возможность загрузки до выполнения скрипта (я знаю, что готовый документ должен сделать это, но ...).Опять же стоит пойти

И

Только для целей тестирования я хотел бы изменить внешний файл сценарий, чтобы быть как можно проще просто исключить любое другое wierdness из т.е. использовать

$(document).ready(function() { 
    alert('Hello - i am here'); 
}); 
+0

Спасибо за ваш ответ Crab. Я попробовал ваше предложение. Я включил это в скрипт в pageLoad(). – Bharath

+1

Кроме того, Нажмите мне - это p1 теги опечатки? Должны ли они быть p-тегами? Aplogies, если кто-то уже выбрал это. –

+1

Я пытался с самого начала пробовать много вещей, искать блоги, спрашивать мои пожилые люди помогают, жертвуя цыплятами языческим богам: D. Ничего не сработало. Мне очень жаль парней. Как сказал Краб, это должны быть теги p и не P1. Теперь он работает. Извините, если я потратил ваше время только на эту глупую типизацию Эрро р. – Bharath

0

Ты нагрузки JQuery scripy дважды.

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

Удалите один из них.

Вы должны удалить это файл тоже:

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

После этого проверяем пути к скриптам. Работа вашего скрипта correctly.

+0

Опубликуйте это как комментарий, а не ответ. Он не отвечает на проблему – Satpal

+0

@ YD1m Я удалил мин версию. Ничего не получилось :( – Bharath

+0

У меня есть только эта строка - Bharath

0

Используйте символ ~ вместо ..

~/Сценарии/JQuery-1.4.1.js "вместо ../Scripts/jquery-1.4.1.js" ~/Сценарии/JQuery-1.4. 1.min.js "вместо ../Scripts/jquery-1.4.1.min.js"

Все лучшее

+0

Нет приятеля..Не работает – Bharath

+0

@ shanmugam: Нет смысла использовать ~, поскольку OT говорит, что он перетаскивает файл для пути .... – Rahul