Недавно я использовал Jquery при работе над проектом, изучающим jquery, и столкнулся с некоторыми «странными» проблемами (мастера, не вините меня).
Спасибо г-ну ClassYuan за поддержку блога ClassYuan http://www.classyuan.com/.
1. При загрузке события с помощью HTML-элемента событие будет выполнено одновременно с загрузкой.
Код ошибки:
просмотреть источник
PRint?1 $("#btnLoad").bind("click",GetProduct());
правильный код
просмотреть источник
print?1 $("#btnLoad").bind("click", function() { GetProduct() });
В этом коде я проигнорировал метод Bind. Объяснение API — «bind(type,[data],fn).
Я ошибочно посчитал fn простой функцией. В результате этот код выполнит fn один раз при загрузке.
Это оплошность в письменном виде. Надеюсь, кто-нибудь, кто знает причину, может дать мне совет.
2. Проблема области видимости переменных (Похоже, это не проблема jquery. Это разница между js и .net..)
просмотреть источник
напечатать?1 функциональный текст() {
2 for (var i = 0; i < 3; i++) {
3 $("<a>Delete</a>").attr({ id: "hr_" + i, href: "javascript:;" }).addClass("btnCSS").bind("click", function () { tes(i) }).appendTo(".div_list");
4}
5}
6 функция tes(id) {
7 оповещение (идентификатор);
8}
Эта функция. Я хочу, чтобы она оповещала соответствующий идентификатор. В результате ответ очень приятный. Это функция с 3 тегами <a>. Когда она появляется, это всегда 3..
Посмотрев на это... я понимаю
Что касается проблемы области видимости переменных, параметр, передаваемый в функцию tes, представляет собой значение i после завершения цикла, поэтому все они равны 3.
Кажется, это отличается от .net.
Наконец, решение - -.. Просто передайте $(this) в
3. Проблемы с порядком выполнения событий.
просмотреть источник
распечатать?1 <a target="_blank" title="Iphone" >
2 <img id="proImg7_2" src="" alt="Iphone" style="ширина:70 пикселей; высота: 60 пикселей; граница: нет; />
3 </а>
Событие onclick привязано к этому изображению. Содержимое события заключается в добавлении атрибута href к родительскому тегу <img>.
Но после того, как событие будет выполнено, оно перейдет непосредственно на ссылку тега. После анализа.
Должно быть так, что клик выполняется до href, то есть при клике по изображению тег A уже имеет href, а затем одновременно срабатывает тег A.
Решение. Удалите внешний тег <img>. Затем измените событие.
просмотреть источник
print?1 idwrap(' <a href=" http://www.QQ.com"></a>' );
Выше перечислены проблемы, с которыми я, новичок, столкнулся при первом использовании jquery, оставлю их здесь и отнесусь к ним как к процессу роста. Уважаемые ветераны, не жалуйтесь.