jQuery mousedown не работает в Chrome / Safari - PullRequest
0 голосов
/ 11 сентября 2018

Я использую этот фрагмент кода, чтобы обернуть ссылку вокруг (динамически) созданного div, который хорошо работает в Firefox, но не в safari / chrome и т. Д.

Я уже знаю, что мне следует использовать события указателя, но я не уверен, как этого добиться, поскольку мне все еще нужно событие ".on" из-за динамически создаваемого div.

// Create a link around the ID
$(".psv-hud").on('mousedown', '#psv-marker-job1', function() {
    $(this).wrap( "<a href='/psv-marker-job1/'></a>" );
});

Есть идеи, как мне это решить?

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

Если этот код не работает, .psv-hub не существует при привязке события mousedown.

Сначала проверьте изменение .psv-hub -> document.

$(".psv-hud").on('mousedown', '#psv-marker-job1', function() {
    $(this).wrap( "<a href='/psv-marker-job1/'></a>" );
});

Покажите мне страницу примера.

0 голосов
/ 11 сентября 2018

Вам необходимо указать элемент, который уже существует при создании DOM.В параметрах вы указываете элементы, которые хотите добавить метод mousedown.Просто присваивая $ ('врагу'), он присоединяет метод к тем, которые уже присутствуют в DOM.

$('body').on('mousedown', '.enemy', function(event) {
    //attack code
}

Jquery для mousedown не работает с динамически генерируемыми элементами

...