Ссылка в ответе HTML AJAX теряет щелчок при нажатии - PullRequest
0 голосов
/ 02 февраля 2012

У меня есть элемент, содержащий данные из запроса AJAX. Данные AJAX возвращаются с другой страницы. Возвращенные данные в элементе содержат ссылку, которая при щелчке открывает оверлей jQuery. Событие onclick присоединяется к ссылке (a onclick = "...") из внешних данных, а функция наложения находится на моей главной странице.

Это все работает нормально, пока пользователь не нажмет на ссылку, которая открывает оверлей. Когда наложение закрыто, ссылка становится отключенной, теряя событие onclick, и наложение не может быть вновь открыто.

Это проблема с фокусировкой или мне нужно как-то привязать событие к этой ссылке? Я не уверен, что здесь происходит, или как это исправить, я надеюсь, что какой-то добрый человек сможет мне помочь.

Это то, что загружает внешние данные в элемент:

function load_upload_queue() {
    $.ajax({ type : 'GET', url : myDomain,
    dataType : 'html',
    success : function(data) { $('#myElement').html(data); },
    error : function() { // do something }
    });
}

Это ссылка внутри элемента, полученная из вызова AJAX выше:

<a onclick="show_error_overlay(id)">Show Errors</a>

Это моя открытая функция наложения, расположенная на главной странице:

function show_error_overlay(token) {
    $("#show_error_overlay").overlay({
        mask: '#111111',
        close: "a.closeOverlayBtn",
        closeOnClick: false,
        closeOnEsc: false,
        load: true,
        onLoad: function() { // do something },
        onClose: function() { // do something }
    });
}

Любая помощь с благодарностью, любые вопросы, пожалуйста, не стесняйтесь спрашивать:)

1 Ответ

0 голосов
/ 02 февраля 2012

Я бы использовал Firefox + Firebug, чтобы отслеживать, касается ли этот тег A (перемещается, изменяется) чем-либо, когда наложение открывается и закрывается.Посмотрите, поддерживает ли он ту же позицию;самое главное, проверьте, имеет ли оно значение onclick после того, как наложение исчезнет.Проверьте ваши «делать что-то» в onLoad и onClose для любого кода, который может что-то делать с этой ссылкой.Также проверьте наличие ошибок JS, особенно во время / после закрытия оверлея - иногда ошибки прерывают процесс, оставляя несвязанные вещи в неожиданном состоянии, вызывая несвязанные проблемы.

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