jQuery несколько элементов .click (function () - PullRequest
0 голосов
/ 06 марта 2012

Я пытаюсь дать одну и ту же функцию двум элементам.

Вот что у меня есть, что не работает:

$(document).ready(function() {
   $('#menu a, p.bodytext a').click(function() {
      $('#content_bg').load($(this).attr('href')+' #content');
      return false;
   });
 });

Теперь это работает, если я пойду так:

$(document).ready(function() {
   $('#menu a').click(function() {
      $('#content_bg').load($(this).attr('href')+' #content');
      return false;
   });
 });

или как это:

$(document).ready(function() {
   $('p.bodytext a').click(function() {
      $('#content_bg').load($(this).attr('href')+' #content');
      return false;
   });
 });

Но не работает с ними вместе.

Предложения

Ответы [ 4 ]

1 голос
/ 06 марта 2012

Используйте метод add , чтобы добавить элементы в набор:

$('#menu a').add('p.bodytext a').on();
0 голосов
/ 06 марта 2012

Я предлагаю добавить в приемник параметр 'e' и сделать e.preventDefault ().

вот так

$(document).ready(function() {
  $('#menu a, p.bodytext a').click(function(e) {
     e.preventDefault();
     $('#content').load($(this).attr('href')+' #content');
     return false;
  });
});
0 голосов
/ 06 марта 2012

Использовать имя класса вместо идентификатора.

$(document).ready(function() {
   $('.myClass').click(function() {
      $('#content').load($(this).attr('href')+' #content');
      return false;
   });
 });
0 голосов
/ 06 марта 2012

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

$(function() {
   $('#menu, p.bodytext').find('a').on('click', function() {
      $('#content').load($(this).attr('href')+' #content');
      return false;
   });
 });
...