我只是不明白。奇怪的JS行爲:需要額外的線來執行功能?
function init() {
$(document).on('click', '#listFilter .option:not(".darr"), #listSort .option:not(".darr")', function() {
var selected = $(this).data('ajax-link'),
dropDown = $(this).parent().parent(),
filter = '',
sort = '';
if (dropDown.attr('id') == "weaveListFilter") {
filter = selected;
sort = $('#listSort .darr').data('ajax-link');
} else if (dropDown.attr('id') == "weaveListSort") {
filter = $('#listFilter .darr').data('ajax-link');
sort = selected;
}
if (selected != dropDown.find('.darr').data('ajax-link'))
console.log('why?')
sortList(filter, sort, dropDown.parent());
//console.log('wtf!')
});
}
沒有console.log('why?')
的sortList()
功能不叫! 爲什麼不在沒有此行的情況下調用?
最奇怪的是,這「爲什麼?」甚至沒有登錄我的控制檯。但是沒有它,sortList()函數不會執行。 「wtf!」在函數調用會被記錄後,但我不明白它。
想法?我是不是很笨?
是否有JS錯誤錯誤安慰? – Imp 2012-07-19 17:05:10
這聽起來像條件'selected!= dropDown.find('。darr')。data('ajax-link')'從來就不是真的。如果沒有記錄,那麼'console.log('why?')'永遠不會執行。試着用'''''''圍繞'console.log'調用和'sortList'。 – 2012-07-19 17:11:52