Codes DeCodes Ответов: 2

HTML-кнопку радио теги типа добавляется в элемент div с помощью jQuery огонь события click


Я использую jquery
3.3.1.min.js
В моем проекте я создаю HTML-переключатель во время выполнения из раздела Javascript и добавляю его в тег div. HTML-тег, который я создаю, имеет прикрепленное к нему событие click. Проблема в том, что это событие щелчка не срабатывает. Вот мой код:

Раздел Javascript:

$(документ).готово(функция () {
отладчик;
$('.UserType').click(функция () {
отладчик;
предупреждение("в");
});
ГЧП();
});

функции ГЧП() {
ВАР в HTML = '&ЛТ;этикетке класс="БТН БТН-первичный"&ГТ;&ЛТ;входной класс="пользовательского" идентификатор="пользовательского" имя="пользовательского" типа="" значение="1"&ГТ;индивидуальные&ЛТ;/ярлык&ГТ; &ЛТ;этикетке класс="БТН БТН-первичный"&ГТ;&ЛТ;входной класс="пользовательского" идентификатор="пользовательского" имя="пользовательского" типа="" значение="2"&ГТ;админ&ЛТ;/ярлык&ГТ; &ЛТ;этикетке класс="БТН БТН-первичный"&ГТ;&ЛТ;входной класс="пользовательского" идентификатор="пользовательского" имя="пользовательского" типа="" значение="3"&ГТ;агент&ЛТ;/ярлык&ГТ; &ЛТ;метка класс="БТН БТН-первичный"&ГТ;&ЛТ;входной класс="пользовательского" идентификатор="пользовательского" имя="пользовательского" типа="" значение="4"&ГТ;субагент&ЛТ;/ярлык&ГТ;'
$("#divUserType").append(html);
}

Раздел HTML:

<тело>
&ЛТ;форме ID="форма form1" атрибут runat="сервер"и GT;
<div id="divUserType">

</div>
</форма>
</body>

Во время осмотра я обнаружил, что элемент создан. Но когда я действительно просматривал исходный код страницы, добавленные HTML-теги не существовали.

Что я уже пробовал:

Попробовал создать навязчивый код для клика, но это тоже не сработало.

2 Ответов

Рейтинг:
2

Richard Deeming

Другой вариант-использовать делегированные события:

$(document).on("click", ".UserType", function(){
    debugger;
    alert("a");
});

$(document).ready(function () {
    debugger;
    PPP();
});
Делегированные обработчики событий имеют то преимущество, что они могут обрабатывать события из дочерних элементов, которые добавляются в документ позже Выбрав элемент, который гарантированно присутствует в момент присоединения обработчика делегированных событий, можно использовать делегированные события, чтобы избежать необходимости часто присоединять и удалять обработчики событий.


Рейтинг:
17

F-ES Sitecore

Когда вы прикрепить события click .Пользовательского элементы пока не существует, поэтому нет ничего, чтобы присоединиться. Перестройте код таким образом, чтобы прикрепить событие щелчка после создания элементов.

$(document).ready(function () {
    PPP();

    $('.UserType').click(function () {
        alert("a");
    });

});