最初我正在寻找显示/隐藏页面跳转问题的答案。
在这里找到答案:link with href="#" scrolls page to top when used with jquery slidetoggle,我需要了解将return false
放在以下代码中的位置:
toggleDetail : function(obj) {
$(obj).parent().parent().next().toggleClass('hide');
$(obj).text() == 'Show' ? $(obj).text('Hide') : $(obj).text('Show');
},
这是我对show / hide的调用。 'href =“javascript:void(0);”'用于阻止页面跳转,我还需要'返回false'吗?
<a href="javascript:void(0);" onclick="VSASearch.toggleDetail(this)">Show</a>
我尝试在分号前的每个$(obj)
行的末尾添加'return false',但事实并非如此。
答案 0 :(得分:6)
你只需要在onclick处理程序上返回false。如果onclick返回false,则将停止回发/页面重新加载。
<a href="#" onclick="VSASearch.toggleDetail(this);return false;" />
或者您可以按如下方式返回函数的结果:
toggleDetail : function(obj) {
$(obj).parent().parent().next().toggleClass('hide');
$(obj).text() == 'Show' ? $(obj).text('Hide') : $(obj).text('Show');
return false;
},
带
<a href="#" onclick="return VSASearch.toggleDetail(this);" />
答案 1 :(得分:2)
你想从onclick hander
返回false<a onclick="VSASearch.toggleDetail(this); return false">Show</a>
更好的是,使用不显眼的javascript并在$()函数中分配事件处理程序:
<a id="show">Show</a>
....
$(function() {
....
$("#show").click = function() {
VSASearch.toggleDetail(this);
return false;
}
答案 2 :(得分:1)
toggleDetail : function(obj) {
$(obj).parent().parent().next().toggleClass('hide');
$(obj).text() == 'Show' ? $(obj).text('Hide') : $(obj).text('Show');
return false;
},