Функции JavaScript не работают, когда HTML загружается через PHP / JS

Я пытаюсь загрузить HTML-код через Ajax. HTML имеет функцию, назначенную ему атрибутом ONCLICK. Теперь, когда я выполняю код, функция полностью игнорируется. HTML загружен отлично.

Ниже представлена ​​упрощенная версия того, что я пытаюсь сделать.

Код PHP для создания HTML (gethtml.php):

$html = '<a onclick = "thefunction()">Click this to trigger JS function</a>';
$data = array(
    'html' => $html
);
echo json_encode($data);

Загрузка HTML-кода через javascript (main.html):

function load_HTML()
    {
        $.ajax({
            url:"actions/gethtml.php",
            method:"POST",
            dataType:"JSON",
            success:function(data)
            {
                $('#container_id').html(data.html);
            }
        })
    }

Функция Javascript для загруженного HTML (main.html):

function thefunction(){
   //any function
}

Надеюсь, кто-нибудь мне поможет!

Откуда взялся data.tabledata? Ваш PHP, конечно же, его не поддерживает. Беглый взгляд на вашу JS-консоль быстро указал бы вам на некоторые проблемы.

MonkeyZeus 12.11.2018 15:04

Где ты берешь tabledata?

Masivuye Cokile 12.11.2018 15:06

Ой! Мой плохой, я его поменял.

Wibo Kuipers 12.11.2018 15:07

вы пробовали onclick = "return thefunction ();" вместо onclick = "thefunction ()"?

elk 12.11.2018 15:11

Так что теперь он работает? Вам нужно проверить свою JS-консоль и выяснить, какую ошибку он кричит на вас ...

MonkeyZeus 12.11.2018 15:11

Проверьте консоль инструментов разработчика браузера на наличие ошибок.

James 12.11.2018 15:13

@MonkeyZeus Нет, это было как раз в примере для этого вопроса.

Wibo Kuipers 12.11.2018 15:13

Умм, хорошо, это был бесполезный пример. В любом случае, какую ошибку вы получаете в консоли JS?

MonkeyZeus 12.11.2018 15:14

@elk Тоже не работает ..

Wibo Kuipers 12.11.2018 15:15

@MonkeyZeus Нет, все игнорируется

Wibo Kuipers 12.11.2018 15:15

Должно работать нормально, как показано в этой демонстрации jsfiddle.net/bz5oe2yq

charlietfl 12.11.2018 15:16

Использовать делегирование событий для динамически создаваемых элементов: stackoverflow.com/questions/16598213/…

Billy G 12.11.2018 15:18

Без onclick: jsfiddle.net/7Lc18vdb/2

Michael Röhrig 12.11.2018 15:20

@BillyG Спасибо !! Это сработало отлично!

Wibo Kuipers 12.11.2018 15:28

@ MichaelRöhrig он не упомянул об использовании jQuery.

Dropout 12.11.2018 16:06

@WiboKuipers, вы не должны использовать функциональность onClick html, она считается устаревшей и плохой практикой. Если вы используете какую-то структуру, создайте привязки с ней, а если нет, вам все равно лучше использовать прослушиватели событий - w3schools.com/js/js_htmldom_eventlistener.asp

Dropout 12.11.2018 16:09

@Dropout Я предположил, что он это сделал из-за своего кода, где он это делает ;-)

Michael Röhrig 12.11.2018 16:39
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
17
59
0

Другие вопросы по теме