Javascript 基于jquery的函数到;“关闭”;安<;部门>;不起作用
在我的Web应用程序中,我有以下一对函数,用于打开和关闭标记,模拟弹出窗口: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
<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);"