Javascript 基于jquery的函数到;“关闭”;安<;部门>;不起作用

Javascript 基于jquery的函数到;“关闭”;安<;部门>;不起作用,javascript,jquery,Javascript,Jquery,在我的Web应用程序中,我有以下一对函数,用于打开和关闭标记,模拟弹出窗口: <script> function load_page(url){ $('#results').css("display", "block"); $('#content').load(url); } function close(){ $('#results').css("display", "none"); $('#c

在我的Web应用程序中,我有以下一对函数,用于打开和关闭标记,模拟弹出窗口:

<script>
    function load_page(url){
        $('#results').css("display", "block");
        $('#content').load(url);
    }
    function close(){
        $('#results').css("display", "none");
        $('#content').empty();
    }
    </script>
有没有办法用jquery做到这一点

注:本守则适用于:

<div class="panel panel-default" id="results">
            <div class="panel-heading">
              <h1 class="panel-title">Panel title</h1>
              <div align="right"><button type="button" class="btn btn-lg btn-danger" onclick="close()">Fechar</button></div>
            </div>
            <div class="panel-body" id="content">
              Panel content
            </div>
          </div>

小组标题
粪便
面板内容

代码不起作用的原因是内联事件处理程序实际上没有调用您定义的
close
函数

在事件处理程序中,
close
引用,因为
文档的属性被放在事件处理程序的范围内。您可以通过使用

onclick="console.log(close === document.close);"
作为处理者。这是

解决方案:

  • 不要使用内联事件处理程序,因为存在
  • 将函数重命名为非
    文档的属性:
  • 通过
    窗口明确引用该函数。关闭
    但是这也可能不起作用,因为y可能不可写


由于您还承认没有运行非jQuery版本,因此它与是否使用jQuery没有任何关系。

控制台中是否有任何错误您还可以验证选择器是否匹配,例如:
$(“#results”)。长度
,它什么也不做?既不隐藏div也不清空内容?如果不使用jQuery,我不知道它是如何工作的,但问题可能是,这就是内联事件处理程序中调用的。如果重命名函数(例如,
xclose
),它可以正常工作:。好的,我重命名了这个函数,现在它开始工作了。碰巧在没有名为close()的jquery的情况下,我真的没有尝试过vesion。对此很抱歉,但至少这次经历有助于我和其他人(发现这个问题的人)在未来对此给予更多关注。无论如何,谢谢你的帮助。
<div class="panel panel-default" id="results">
            <div class="panel-heading">
              <h1 class="panel-title">Panel title</h1>
              <div align="right"><button type="button" class="btn btn-lg btn-danger" onclick="close()">Fechar</button></div>
            </div>
            <div class="panel-body" id="content">
              Panel content
            </div>
          </div>
onclick="console.log(close === document.close);"