Jquery не фокусируется на div disqus

Я использую disqus на своем новостном сайте для комментариев, я помещаю div disqus как display:none, я хочу, чтобы пользователь должен был щелкнуть кнопку для отображения и скрыть этот div.

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

Это бесполезно, так как нажатие на кнопку должно привести пользователя к разделу с комментарием, но этого не происходит.

сценарий:

$(document).ready(function(){
        $('.gn-icon-bubble').attr("href","#foot").click(function(){
            $('.disqus_thread').toggle('swing');
         });
});

.gn-icon-bubble — это кнопка, и, как вы знаете, .disqus-thread — это класс элемента div; #foot — мой якорь, они находятся в нижнем колонтитуле главной страницы, но все равно не работают.

Я пытался использовать привязки, но дает те же комментарии, но по-прежнему фокусирует внимание. Я действительно ценю твою помощь.


person SalahAdDin    schedule 25.07.2014    source источник


Ответы (2)


Используйте Event Delegation для динамического изменения элемента, используйте preventDefault для остановки действия по умолчанию

$(document).ready(function(){
     $('.gn-icon-bubble').attr("href","#foot");
    $(document).on("click", ".gn-icon-bubble[href=#foot]" , function(event){
              // event.preventDefault(); If you want to stop default anchor tag click action 
                $('.disqus_thread').toggle('swing');
             });
});
person Balachandran    schedule 25.07.2014
comment
Спасибо, я должен проверить это и прокомментировать здесь результат. - person SalahAdDin; 29.03.2016

Попробуй это:

$('.gn-icon-bubble').click(function() { 
   $('.disqus_thread').toggle('swing',function() {
     $('#foot').focus();
    });
    return false;
 });
person Vala    schedule 25.07.2014