none
$('input'),click не работает RRS feed

  • Вопрос

  • Здравствуйте. Наверное, я что-то не так делаю, но  элементарный скрипт не работает

    <script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
    <script type="text/javascript">
        $('#qwerty').click(function ttt() {
            alert('click');
        });
    </script>
    <input type="button" id="qwerty"/>

    а так - работает
    <script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
    <script type="text/javascript">
       function ttt() {
            alert('click');
        };
    </script>
    <input type="button" id="qwerty" onclick="ttt()"/>

    Помогите, а то я уже не соображаю что не так... :-)
    30 ноября 2013 г. 13:32

Ответы

  • Всё верно. В первом случае не работает скрипт потому, что объект input модели DOM ещё не создан, и получается нечего найти. Хорошей практикой считается помещать скрипты в конце документа, перед закрывающим тегом body, если только не нужно чтобы он отработал до этого.

    Сделаем содержимое сообщества лучше, вместе!

    • Предложено в качестве ответа YatajgaEditor 30 ноября 2013 г. 17:15
    • Помечено в качестве ответа zmiy1982 1 декабря 2013 г. 13:53
    30 ноября 2013 г. 17:13
    Модератор
  • Ещё на этот случай есть функция .ready().

    Сделаем содержимое сообщества лучше, вместе!

    • Помечено в качестве ответа zmiy1982 1 декабря 2013 г. 13:53
    30 ноября 2013 г. 17:15
    Модератор

Все ответы

  • Всё верно. В первом случае не работает скрипт потому, что объект input модели DOM ещё не создан, и получается нечего найти. Хорошей практикой считается помещать скрипты в конце документа, перед закрывающим тегом body, если только не нужно чтобы он отработал до этого.

    Сделаем содержимое сообщества лучше, вместе!

    • Предложено в качестве ответа YatajgaEditor 30 ноября 2013 г. 17:15
    • Помечено в качестве ответа zmiy1982 1 декабря 2013 г. 13:53
    30 ноября 2013 г. 17:13
    Модератор
  • Ещё на этот случай есть функция .ready().

    Сделаем содержимое сообщества лучше, вместе!

    • Помечено в качестве ответа zmiy1982 1 декабря 2013 г. 13:53
    30 ноября 2013 г. 17:15
    Модератор
  • Спасибо большое. Как говорится: "Век живи - век учись.."
    2 декабря 2013 г. 10:14
  • У меня кстати, есть вопрос по ф-и ready().

    У меня на $(document).ready есть аякс-запрос который добавляет Html в тело документа,после того как мой запрос отработает и добавит Html, у меня снова вызывается $(document).ready и т.д. Так и должно быть?

    3 декабря 2013 г. 12:49
  • Нет, так не должно быть. Она должна выполняться только при полных запросах. Для выполнения логики после вызова AJAX запроса нужно регестрировать функции обратного вызова.

    Сделаем содержимое сообщества лучше, вместе!

    4 декабря 2013 г. 5:50
    Модератор