2016-02-19 7 views
1

Я новичок в jQuery, и я знаю, что это, вероятно, очень просто. Я хочу получить возвращаемое значение из функции обратного вызова в событии. Код здесь:Получение возвращаемого значения из функции обратного вызова -JQuery

$('.hintItem').on('mouseenter', function(e){ 
    changeItemStyle(e); 
    var hintItemIndex = $(this).index(); 
    return hintItemIndex; 
}); 

Я хочу, чтобы захватить значение hintItemIndex и сохранить его в новую переменную. Может ли кто-нибудь любезно помочь мне?

+3

Это не так, как работают обратные вызовы jquery (вы не можете получить возвращаемое значение), объясните свой вариант использования и, возможно, мы можем предложить альтернативный подход. –

+0

Что мешает вам хранить его в переменной? Что это связано с возвратом ценности? – Amit

ответ

2

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

var hintItemIndex; 
$('.hintItem').on('mouseenter', function(e){ 
    changeItemStyle(e); 
    hintItemIndex = $(this).index(); 
}); 

В принципе, вы определяете переменную вне Fuction и присвоить ему значение с помощью функции.

+0

Остерегайтесь доступа к переменной до появления события mouseenter – vinayakj

+0

True @vinayakj, я определенно согласен. Я этого не делал, так как думал, что это не входит в сферу действия ОП. Нужно ли мне? –

+0

В порядке, просто хотел предупредить OP, поскольку OP не очень много переживал о обратных вызовах. Ответ правильный, и я уже дал +1. – vinayakj

0

Попробуйте выполнить следующую функцию.

function getHintItemIndex() { 
    var retVal; 
    $('.hintItem').on('mouseenter', function(e){ 
    changeItemStyle(e); 
    var hintItemIndex = $(this).index(); 
    return hintItemIndex; 
    }); 
    return retval; 
} 

var retVal = getHintItemIndex(); 
Смежные вопросы