элемент во вложенных элементах div, события jquery не работают - PullRequest
0 голосов
/ 08 января 2010

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

Я пробовал сотни вариантов этого селектора, но он все еще не работает.

HTML-код:

<div class="tabContents">
  <div class="thumbArea">
  <a href="#">
    <img src="foo" alt="baba"/>
  </a>
  </div>
  <div class="imageArea">
  </div>
</div>

JS:

$(function(){

  $(".tabContents a").hover(function() {
  alert("just work!");
  });

}); 

Ответы [ 2 ]

2 голосов
/ 08 января 2010

jQuery hover принимает две функции: «over» и «out».

$(".tabContents a").hover(function() {
     alert("mouse over!");
   }, function(){
      alert("mouse out!");
});

Если вы просто ищете курсор мыши, я бы предложил:

$(".tabContents a").mouseover(function() {
    alert("just work!");
});

Дальнейший ответ:

Попробуйте использовать событие jQuery live. Это гарантирует, что слушатель событий будет также обращать внимание на любые новые элементы, добавленные в DOM (например, те, которые вы добавляете). Однако live в настоящее время не поддерживает hover. Вы можете выполнить событие mouseover и mouseout, чтобы достичь того же эффекта.

$('.tabContents a').live('mouseover', function(){
   alert('mouseover!');
});

$('.tabContents a').live('mouseout', function(){
   alert('mouseout!');
});

Кажется, я видел, что кто-то написал расширение для jQuery, которое позволило использовать 'hover' с live в ответ на вопрос здесь о SO, так что это можно сделать, но, увы, я не могу найди это.

0 голосов
/ 08 января 2010

Ваш код - скопированный символ за символом - отлично работает для меня. (ПРИМЕЧАНИЕ. Firefox в Windows.)

Попробуйте использовать firebug и посмотрите, поможет ли это определить, что происходит для вас.

...