Как заставить скрипт jQuery запускаться после установки строки запроса PHP?

0

Когда щелкнули ссылку, я хочу добавить что-то на страницу. Однако ссылка использует PHP как

(Примечание: внутри эха):

<a id = 'linkimg1' href='main.php?img1=$img1_id'> [img1 here] </a>

у меня есть

<script>
    $(document).ready(function() {
        $('#linkimg1').click(function() {
            $('stuff').appendTo('body')
        });
    });
</script>

Как заставить ссылку по-прежнему выполнять сценарий jQuery?

Теги:

3 ответа

0
Лучший ответ

Вы должны добавить селектор в качестве параметра. Если вы этого не сделаете, событие напрямую связано, что не работает для динамического контента.

<script>
$(document).ready(function() {
$(document.body).on('click', '#linkimg1' ,function(){
  $('stuff').appendTo('body')
 });
});
</script>

Селектор является неотъемлемой частью функции.on()

.on(eventType, selector, function)

Документация API jQuery ЗДЕСЬ

  • 0
    По какой-то причине это не сработало. Я решил использовать append () вместо этого, и это сработало! Не уверен, почему appendTo не сделал.
  • 0
    Я рад, что у вас это работает, и в дополнение к ответу вы также должны знать, что $ (document.body) не в камне. Этот селектор может быть любым элементом DOM выше в иерархии, который остается в DOM при изменении динамического содержимого. Это своего рода путь к вашему динамическому селектору в функции on ()
0

Назначьте его как функцию onClick, например

<a id = 'linkimg1' href='main.php?img1=$img1_id' onclick="myFunction()"> [img1 here] </a>


<script>
    $(document).ready(function() {
        function myFunction() {
            $('#linkimg1').click(function() {
                $('stuff').appendTo('body')
            });
        } 
    });
</script>
0

когда вы используете обработчики событий для динамического содержимого, используйте jQuery.on() или jQuery.live() (устарело)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню