0
好的,这很奇怪。在我的页面上,无论何时在元素上调用.hide()或.show(),都不会发生任何事情,除非我单击页面上的某处(其他任何地方)。行为没有发生得更早,我不知道我做了什么导致它爬行。jQuery .hide()和.show()在点击页面之前不工作
我使用jQuery 1.7.2和引导程序作为我的css框架(有很多修改)。这种行为发生在Chrome,Firefox和Safari(在OSX上)。我已经减少了JavaScript,但只有jQuery和我的.hide()调用,它仍然会发生。控制台中没有显示错误消息。
我甚至不知道如何去调试这个问题。我发现它绝对怪异,谷歌搜索没有透露任何东西。有什么我可以用开发者工具或类似的工具来发现为什么.hide()不能按预期工作?
我正在使用coffeescript。这是咖啡的脚本;
$('#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警报解除脚本给我带来了同样的问题。
发布您的代码。 – darma 2012-08-11 11:54:51
是您的显示/隐藏代码,运行时响应页面上的某些用户操作,如更改文本框的值 – 2012-08-11 12:02:38
@Parv - 是的,它是 – brad 2012-08-11 12:06:00