我使用以下命令在我的页面上滑动()切换元素:
$('body').on('click', '#commentArticle', function(e) {
$('#commentArticleForm').slideToggle({
duration: 400,
step: resizeContentHeight
});
});
行为不一致。如果您直接访问该页面(here)并切换发表评论表单,则表明它可以正常运行。但如果您继续浏览父页面(here)并点击第一篇文章链接(带来)然后大约90%的时间表格将打开然后立即关闭。刷新页面将纠正故障。
我甚至不知道从哪里开始调试这种不一致的行为,特别是因为只有在从父页面访问页面时才会出现问题。
请告诉我是否需要更多信息来帮助追踪这个故障。
注意:在OSX上的Chrome,Firefox和Safari上观察到行为。
编辑:通过在上面的函数中添加console.log("a")
,我现在可以看到问题的来源,slideToggle()
何时进入"溜溜球"这实际上是因为出于某种原因单击#commentArticle
会被记录为两次点击,即:控制台显示a
两次。
答案 0 :(得分:1)
我有这个确切的问题,这就是我修复它的方法:
1)你需要添加" touchstart"到iPad的方法。 2)您需要添加preventDefault以防止点按两次
$(document).on("click touchstart","'#commentArticle", function(e){
$('#commentArticleForm').slideToggle({
duration: 400,
step: resizeContentHeight
});
e.preventDefault();
});
请尝试一下,看看它是否有效。
答案 1 :(得分:0)
确保您的 js 文件只包含一次。