好吧,这很奇怪。在我的页面上,每当我在一个元素上调用 .hide() 或 .show() 时,除非我单击页面上的其他位置(任何位置),否则什么都不会发生。这种行为没有更早发生,我不确定我做了什么导致它蔓延。
我使用 jQuery 1.7.2 和 bootstrap 作为我的 css 框架(有很多修改)。该行为发生在 Chrome、Firefox 和 Safari(在 OSX 上)。我已经将 javascript 缩减为 jQuery 和我的 .hide() 调用,但它仍然会发生。控制台中没有显示错误消息。
我什至不知道如何调试这个问题。我觉得这绝对是奇怪的,谷歌搜索没有发现任何东西。我可以用开发工具或类似工具做些什么来找出 .hide() 没有按预期工作的原因吗?
我正在使用咖啡脚本。这是咖啡脚本;
$('#recipient_type').blur ->
if $(this).val() == 'Other'
$('#recipient-details').show()
else
$('#recipient-details').hide()
这是它编译成的 javascript;
$('#recipient_type').blur(function() {
if ($(this).val() === 'Other') {
return $('#recipient-details').show();
} else {
return $('#recipient-details').hide();
}
});
但这种现象不仅发生在我的代码中。例如,bootstrap-alert.js 警报解除脚本给了我同样的问题。