Как установить атрибут для элемента, который создается динамически? - PullRequest
0 голосов
/ 10 января 2019

Я получаю ответ от $.post, и он содержит элементы. Элемент содержит <a> и <img>.

Я хочу, чтобы элемент <a> не выполнял свои функции по умолчанию при нажатии, и я хочу отключить опцию draggable для элемента <a> и <img>.

Используя .on(), вы можете определить свою функцию один раз, и она будет выполняться для любых динамически добавляемых элементов.

Например: они не позволят элементу привязки выполнять свою функцию по умолчанию при нажатии.
$('body').on('click', 'a', function (e) { "use strict"; e.preventDefault(); });

Как насчет установки атрибута для него? Приведенный ниже код не работает для динамического элемента. $('a').attr('draggable', false);
$('img').attr('draggable', false);

1 Ответ

0 голосов
/ 10 января 2019

Предполагается, что вы добавляете этот элемент ответа где-то в разметку.

Наценка

<div id="container">
    <!--Add dynamic element here-->
</div> 

JS

$('body').on('click', 'a', function (e) {
   "use strict";
   e.preventDefault();
});

$.ajax({
    type: "POST",
    url: ServerAddress,
    success: function (data) {
        $('#container').html(data); //1: Insert the element into your markup
        $('#container a').attr('draggable', false); //2: The element is ready to add some attribute
        $('#container img').attr('draggable', false); //2: The element is ready to add some attribute
    }
});

Вам просто нужно подождать, пока он не будет разобран в объект.

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