jQuery显示div然后消失
如果这是一个简单的问题我提前道歉,我有这个javascript代码:
$(document).ready(function() { $("#results").hide(); var html = $.ajax({ url: "ajax.php?db_list=get", async: false}).responseText; $("#submit").click(function () { $("#results").show(); }); });
我有一个看起来像这样的按钮:
当我点击提交按钮时,我想显示结果div并让它保持在那里,但是在Chrome中它会弹出然后立即消失,这是因为我文档顶部的hide()函数准备好了吗?
谢谢!
…这是因为我文档顶部的hide()函数准备好了吗?
大概。 我猜这个页面很新鲜。 如果你不想那样,请使用return false;
在处理程序中。
$("#submit").click(function () { $("#results").show(); return false; });
或event.preventDefault()
。
$("#submit").click(function ( event ) { $("#results").show(); event.preventDefault(); });
最初将结果设置为通过CSS隐藏
/* CSS */ #results { display: none; }
不知道你为什么要跳过你应该使用$ .ajax的方式。 如果是GET请求,请使用$ .get …与.live绑定,因为它更好:)。 让它是异步的,因为你不希望你的服务器在发生错误时挂起……
$(document).ready(function() { $('#submit').live('click', function(){ $.get('ajax.php?db_list=get', function(data){ $('#results').html(data); $('#results').show(); return false; }); }); });
而不是提交,使用此代码
现在你不必返回false; 或event.preventDefault(); 在你的JavaScript中