jQuery: вызов двух функций для одного события и одного селектора и передача данных между ними - PullRequest
1 голос
/ 23 февраля 2012

Как я могу вызвать две функции для одного и того же селектора и одно событие и передать данные между ними?Первая функция .hover

 $("#cartItems tr.cItem").hover(
   function ()
   {
       receipt = $(this).next().children().text();
       //I want to pass receipt value to second function
   },
   function()
   {

   }
 )  

, а вторая функция:

$("#cartItems tr.cItem").qtip(
{
   content: receipt, // i need to pass it here
   show: 'mouseover',
   hide: 'mouseout'
});

это всплывающая подсказка, которая выскакивает значение "contet" в маленьком окне

Как я могу вызвать / объединить эти две функции вместе?

1 Ответ

2 голосов
/ 23 февраля 2012

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

Если содержимое, которое вы хотите в qtip, существует на момент, когда вы делаете это, это может быть тем, что вы хотите:

$("#cartItems tr.cItem").each(function() {
    var $this = $(this);
    $this.qtip({
        content: {
            text: $this.next().children().text()
        }
    });
});

Это устанавливает qtips один раз , с текстом, полученным из дочернего содержимого следующего элемента.

Если вы хотите сделать это динамически (например, дочерний контент следующего элемента может измениться в зависимости от действий пользователя на странице), то:

$("#cartItems tr.cItem").mouseenter(function() {
    var $this = $(this);
    $this.qtip("option", "content.text", $this.next().children().text());
}).qtip();

Это устанавливает qtips (один раз) и устанавливает обработчик mouseenter, который устанавливает текст qtip, когда мышь фактически входит в элемент.

...