gpt4 book ai didi

javascript - 奇怪的 JS 行为 : Additional line is needed to execute function?

转载 作者:行者123 更新时间:2023-11-30 07:43:33 25 4
gpt4 key购买 nike

我只是不明白。

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() 函数就不会执行。 “卧槽!”在记录函数调用之后,但我还是不明白。

想法?我是傻还是傻?

最佳答案

因为你的 if 失败了。 if 主体周围没有大括号 { },因此只有第一条语句被视为 if 的一部分。通过添加 console.log,您使 sortList 不再是 if 的一部分。

首先,用大括号括起您的 if:

if ( selected != dropDown.find('.darr').data('ajax-link') ) {
sortList(filter, sort, dropDown.parent());
}

然后去找出为什么你的 if 子句失败了。

关于javascript - 奇怪的 JS 行为 : Additional line is needed to execute function?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11565823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com