jQuery не работает внутри ajax загружен div с той же страницы - PullRequest
0 голосов
/ 10 августа 2011

После нескольких дней я безуспешно пытался ответить на вопросы / ответы здесь, но не мог понять, как исправить мой (попытался изменить один .live с помощью .click в коде, но безуспешно). Это то, что я изменил / изменил в jquery.ajaxy.js (возможно, есть другие места в коде, которые мне нужно изменить, но когда я попытался, ajaxy не работал правильно, поэтому я что-то здесь не так делаю. Это код может даже не быть частью решения, потому что его jQuery внутри загруженного div ajax не работает )

$.fn.preventDefaultOnClick = $.fn.preventDefaultOnClick || function(){

        //original
        //return $(this).click(function(event){

        return $(this).live('click', function(event){
           event.preventDefault();
           return false;
    });
};

Мои тестовые ссылки на http://eddiepotros.com/test/

  • Нажмите О , ключевые слова DESIGNER & ONE STOP SHOP должны отображать подсказки в стиле jquery, но они не будут работать, если вы не перейдете к Сама страница http://eddiepotros.com/test/pages/about.html, тогда она работает (загрузка там также jquery, но даже если я удалю ее, она все равно не будет работать)

  • Нажмите Портфолио , та же проблема. Код jQuery не работает на этой странице / div, если вы не перейдете непосредственно к нему eddiepotros.com/test/pages/portfolio.php

Любые предложения, пожалуйста? Просто чтобы быть ясным, я не знаю, может ли код, который я разместил, решить мою проблему. Я просто догадываюсь, но не похоже, что он что-то делает согласно первым двум комментариям здесь. Моя проблема в том, что jQuery не может быть вызван из того загруженного ajax div

Я пробовал это в течение долгого времени без всякой удачи!

Ответы [ 4 ]

0 голосов
/ 10 августа 2011

Отмените все изменения, которые вы сделали ранее, чтобы всплывающая подсказка работала.

в файле about.html удалите document.ready.

просто поместите код в конце.html page.

<script>

// By suppling no content attribute, the library uses each elements title attribute by default
   $('#about a[href][title]').qtip({
      content: {
         text: true // Use each elements title attribute
      },
      hide: { /*when: 'inactive',*/ delay: 800, effect: 'fade' },
      show: { effect: 'grow' },
      style: 'cream' // cream, dark, green, light, red, blue
   });

    //effects such as fade, slide, grow   
   // NOTE: You can even omit all options and simply replace the regular title tooltips like so:
   // $('#content a[href]').qtip();
</script>

Должно работать.Дай мне знать, если нет

0 голосов
/ 10 августа 2011

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

$.fn.preventDefaultOnClick = function(){

   return $(this).live('click', function(e){
           e.preventDefault();
          });
};
0 голосов
/ 10 августа 2011

Вы пытались поместить JavaScript в about.html

$('#about a[href][title]').qtip({
  content: {
     text: true // Use each elements title attribute
  },
  hide: { /*when: 'inactive',*/ delay: 800, effect: 'fade' },
  show: { effect: 'grow' },
  style: 'cream' 
});

внизу HTML вместо документа. Готовый раздел.

0 голосов
/ 10 августа 2011

return this.live('click', function(event){

подразумевается ли объект JQuery?

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