Событие jquery keyup не работает - PullRequest
0 голосов
/ 26 января 2011

Я работаю над тем, чтобы приложение Sharepoint 2007 выглядело более современным. Я активно использую jQuery для этого, и хотя я не эксперт, я научился достаточно, чтобы разбираться в этом. Пока я не столкнулся с этой проблемой сегодня. Вот биты:

  $(document).ready(function() {
    alert('doc ready');
    var textBox1 = $("#myTest");
    alert(textBox1);

    textBox1.keyup(function() {
        alert('key UP');
    });

    textBox1.live("keyup", function() {
        alert('keykeykey up live');
    });

});

HTML, созданный сервером:

    <input name="ctl00$Spwebpartmanager1$g_1f2d211c_a0c3_490d_8890_028afd098cac$ctl00$myTest" type="password" id="ctl00_Spwebpartmanager1_g_1f2d211c_a0c3_490d_8890_028afd098cac_ctl00_myTest" class="gh" />

Итак, обработчик готовности документа срабатывает, переменная textbox1 не равна нулю, но не запускается ни один из обработчиков событий для обработки события keyup? Разум шатается ...

1 Ответ

3 голосов
/ 26 января 2011

Я не работаю, потому что атрибут id актуален ctl00_Spwebpartmanager1_g_1f2d211c_a0c3_490d_8890_028afd098cac_ctl00_myTest

попробуй

var textBox1 = $("input[id$='_myTest']");

Здесь искали поле ввода html с атрибутом id, который заканчивается строкой _myTest

В будущем для отладки используйте

alert(textBox1.length)

Так что вы можете определить, является ли объект jQuery пустым или нет. Если селектор ничего не найдет, он вернет пустой объект jQuery, который не является нулевым. Вы можете проверить, нашел ли селектор что-либо, убедившись, что свойство .length является положительным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...