Javascript .slidetoggle()单击后立即向上滑动

Javascript .slidetoggle()单击后立即向上滑动,javascript,jquery,html,Javascript,Jquery,Html,我有一些简单的jQuery代码,它使用.slideToggle()函数,通过另一个元素的单击事件向下滑动一个元素: $(函数(){ $(“#搜索链接”)。在('点击',点击处理程序); 函数tapHandler(事件){ $(“#搜索div”).slideToggle(); setTimeout(函数(){ $(“#搜索文本”).focus().tap(); }, 0); } }); 以下是api中的一个片段,经过修改以模拟您的代码。尝试模拟该示例,先省略其他操作,看看这是否符合您的意图。希望

我有一些简单的jQuery代码,它使用
.slideToggle()
函数,通过另一个元素的单击事件向下滑动一个元素:

$(函数(){
$(“#搜索链接”)。在('点击',点击处理程序);
函数tapHandler(事件){
$(“#搜索div”).slideToggle();
setTimeout(函数(){
$(“#搜索文本”).focus().tap();
}, 0);
}
});

以下是api中的一个片段,经过修改以模拟您的代码。尝试模拟该示例,先省略其他操作,看看这是否符合您的意图。希望这有帮助

$(“搜索链接”)。单击(功能(事件){
$(“#搜索div”).slideToggle();
});
div{
宽度:400px;
}

搜索链接
这是结束所有段落的段落。你
我应该感到幸运。。。

您的代码是正确的,不应造成此处所示的问题

您的问题似乎存在于此文件中

catalog/view/javascript/jquery/colorbox/jquery.colorbox.js


如果删除此文件,则函数将正常工作

看看它目前是如何工作的,似乎同一个对象上有两个侦听器。你的代码在什么地方重复了吗

$(函数(){
$(“#搜索链接”)。在('点击',点击处理程序);
函数tapHandler(事件){
$(“#搜索div”).slideToggle();
setTimeout(函数(){
$(“#搜索文本”).focus().tap();
}, 0);
}
$(“#搜索链接”)。点击('click',点击Handler2);
功能tapHandler2(事件){
$(“#搜索div”).slideToggle();
setTimeout(函数(){
$(“#搜索文本”).focus().tap();
}, 0);
}
});
#搜索分区{
显示:无;
}


点击()
可以做什么?没有
.tap()
function@cenanozen我删除了.tap()函数,但这里仍然是错误的:(在这里工作正常,所以看起来您必须有其他的东西在为我工作正常:您的代码中有另一个事件处理程序。从控制台运行上述代码按预期工作。您应该删除其他事件处理程序—“此方法是
。on(“单击”,处理程序)
”的快捷方式哦,是的,Jamie Barker,我试图在代码段中引用api中提供的示例。因此,首先要减少要调试的上下文。从外观上看,我无法立即判断。@Kalish发生了这种情况。我总是在给出答案之前和之后进行双重检查。以防有人在我键入时提交了答案。
         $(function() {

  $("#search_link").on('click', tapHandler);

  function tapHandler( event ) {
    $('#search-div').slideToggle();
    setTimeout(function(){
     $('#search-text').focus().tap();
    },0);
  }

});