Итак, я работаю с плагином Handsontable для проекта jQuery и написал несколько пользовательских функций для работать с ним.
Функция, с которой у меня сейчас проблемы, - это функция, которую я написал для возврата текущей выбранной ячейки (когда пользователь выбрал только одну, а не несколько, и да, это проверяется).
Вот мой код:
function getCurrentCell(){
var selection = $('div.current');
var left = selection.offset().left;
var right = left + selection.width();
var top = selection.offset().top;
var bottom = top + selection.height();
$('div.active').find('table').find('td').each(function(){
if($(this).offset().left >= left && $(this).offset().left <= right && $(this).offset().top >= top && $(this).offset().top <= bottom){
return this;
}
});
return false;
}
Однако всякий раз, когда я вызываю функцию, например:
var cell = getCurrentCell();
А затем попробуйте alert(cell)
или console.log(cell)
, я получаю возвращаемое значение false
.
Моя первоначальная мысль заключалась в том, что каким-то образом координаты будут отключены, и поэтому не будет найден ни один элемент, соответствующий критериям, поэтому я попытался проверить, добавив...
$(this).css('background-color', 'black');
...прямо перед строкой return this
. Таким образом, если правильная ячейка таблицы будет найдена, она отобразится на экране до фактического возврата в коде. Забавно, правильная ячейка всегда имеет правильный цвет фона. Итак, эта функция находит правильную ячейку и выполняет код в цикле if, но когда я пытаюсь записать возвращаемое значение в переменную, эта переменная всегда оказывается ложной.
Любая помощь будет здорово! Спасибо ТАК!
hotInstance.getSelected()
. - person ZekeDroid   schedule 20.09.2015