出于某种原因,这适用于FF 11,Chrome,甚至在IE中,但不适用于FF 3.6或Safari 5。
基本上我触发点击链接:
var $currentItem = $('#' + currentId);
var modalSeriesList = $('.js-modal-series');
var index = modalSeriesList.index($currentItem);
var $nextItem = modalSeriesList[index + 1];
var nextClick = function() {
$(document).off('keydown.general');
$nextItem.click();
}
$(document).off('keydown.general');
if ($nextItem) {
$nextButton.click(nextClick);
}
但是当我点击FF 3.6或Safari 5中的链接时,我收到以下错误:
TypeError: 'undefined' is not a function (evaluating '$nextItem.click()')
使用以下方法是否有任何我不知道的特殊“问题”?
答案 0 :(得分:4)
尝试.eq()
,因此$nextItem
是jQuery
集合:
var $nextItem = modalSeriesList.eq(index + 1);
// ...
$nextItem.click()
使用[...]
检索没有.click()
方法的DOM对象。
答案 1 :(得分:1)
你可以尝试
if( typeof $nextItem == 'undefined' ){
$nextButton.trigger('click');
}
而不是
if ($nextItem) {
$nextButton.click(nextClick);
}
答案 2 :(得分:0)
如果你将if语句的条件转换为
if(typeof $nextItem == 'undefined' )
它有效。正如波尔科所说,可能$ nextItem不存在....