создание URL-адреса при наведении курсора мыши на URL-адрес :: jquery :: - PullRequest
1 голос
/ 18 февраля 2010

При наведении курсора на тд в jquery, как я могу сделать так, чтобы URL-адреса в тд запускали эффект css "a: hover"

Ответы [ 5 ]

1 голос
/ 18 февраля 2010

Вы можете попробовать:

$('td').hover(function() {
    $(this).find('a').mouseover();
}, function() {
    $(this).find('a').mouseout();
});
0 голосов
/ 21 февраля 2010

Спасибо за ваш вклад Томас и Марк.

Томас: Я попробовал ваш метод, и он не сработал, но он дал мне идею немного его настроить, и я получил его на работу...

$('tr').live('mouseenter',function() {
$(this).find('a.desc').addClass('bold');

}). Live ('mouseleave', function () {$ (this) .find ('a.desc'). RemoveClass ('bold');});

Приведенный выше код является моим текущим решением, и оно работает, но hover, похоже, не работает, потому что live требуется снова, чтобы удалить класс «жирный», поэтому я использую mouseenter и mouseleave.

Использование наведения мышки на $ (this) .find ('a.desc'). Mouseover ();не может быть и речи ... это даже делает Google Chrome LAG , как никакой другой ... так что я уверен, что это не очень хорошая идея ...

Марк: Это довольно интересная идея, я попробую, я старался избегать использования ".live ()" настолько, насколько это возможно, это не кажется эффективным методом, но это довольно сложно с веб 2.0,

0 голосов
/ 19 февраля 2010

Некоторые события не могут быть обработаны .live или другими способами, поэтому, если вам нужно добавить события в новый контент, после или действительно как часть добавления на страницу через ajax, вы можете ТО добавить управление событиями через вызов функции.

function AddHover()
{
  $('td').hover(function() { 
      $(this).find('a').addClass('myHoverClass');
  }, function() { 
      $(this).find('a').removeClass('myHoverClass'); 
  }); 
};

и при загрузке AJAX:

чик ...

success: function(msg)
{
    LoadTableData(msg);// this function would process and add your page elements
    AddHover();// this then adds the events to the new markup
},

... end snip - см. JQuery .ajax для более подробной информации об "success:"

0 голосов
/ 19 февраля 2010
$('td').hover(function() {
    $(this).find('a').addClass('name-class-simulates-hover');
}, function() {
    $(this).find('a').removeClass('name-class-simulates-hover');
});

Может быть, добавить класс с теми же эффектами, что и у вас: hover?

0 голосов
/ 19 февраля 2010

Хотелось бы, чтобы все было так просто, кажется, это не сработает, потому что я загружаю таблицу через ajax, так что даже при добавлении к ней live это не помогает ...

$('td').live('hover',function() {
    $(this).find('a.desc').mouseover();
}, function() {
    $(this).find('a.desc').mouseout();
});
...