Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquerytoggle命令意外触发_Javascript_Jquery_Toggle - Fatal编程技术网

Javascript jquerytoggle命令意外触发

Javascript jquerytoggle命令意外触发,javascript,jquery,toggle,Javascript,Jquery,Toggle,我有一个网页,其中包含一个叫做“答案”的部分。“答案”部分应隐藏,直到用户单击“显示答案”超链接 因此,我使用JQuery toggle命令来实现这一点: $('.show-answer').toggle(function() { show_answer ...} , function() {hide_answer ...} ) 它本身工作得很好 然而,当我在同一页上添加另一个表单时,我遇到了一个问题。提交表单

我有一个网页,其中包含一个叫做“答案”的部分。“答案”部分应隐藏,直到用户单击“显示答案”超链接

因此,我使用JQuery toggle命令来实现这一点:

 $('.show-answer').toggle(function() { show_answer ...} , 
                                      function() {hide_answer ...} )  
它本身工作得很好

然而,当我在同一页上添加另一个表单时,我遇到了一个问题。提交表单时,我将其重定向到此页面,并在最后附加一个锚定
“#xxx”


然后我发现toggle函数意外触发。基本上,如果“答案”部分在提交表单之前隐藏,则在浏览器重定向到页面后,它将变为可见。

可能正在使用一个单击处理程序,它将帮助您

$(document).ready(function(){
    $('.answer').on('click', function(e){
        e.preventDefault();
        $('.show-answer').toggle('show');  
        //Or  use the following      
        //$('.show-answer').slideToggle();                   
    });
});

fiddle is.

您可能需要添加一个is(“:visible”)方法来检查重定向后是否显示答案以处理它。我假设您正在使用第二个表单的哈希重定向同一页面。是否有用于切换此表单的单击处理程序?谢谢。但是,当我将浏览器重定向到页面时,似乎会触发单击功能。这与我使用切换时遇到的问题相同。