我多次使用以下基本jquery隐藏脚本。但由于某种原因,这次它不起作用。任何建议都会受到重视。请注意我在下面尝试过的事情。
$('#jobrequest-open').click(function(){
alert("test");
$(".test").hide();
});
<button id="jobrequest-open" class="btn btn-block btn-info">Job Requestor
Submission</button>
在此应用程序中,警报按钮打开OK(因此点击是由JScript注册的)但div不会隐藏。
所以我删除了click事件监听器并刚加载
alert("test");
$(".test").hide();
果然弹出警报,元素按预期隐藏。
我试过了event.stopPropagation();警报之前明显添加(事件)到该功能。没效果。
我尝试了$(document).ready(function()
包装器 - 再没有效果。所以有点亏。无法找到解决此类奇怪问题的任何先前的问答。
ps ..这个脚本正在运行pluploader插件 - 不认为这应该是一个问题。
答案 0 :(得分:1)
如果你使用现代版本试试这个,因为在新版本中这种写事件的方式已被弃用
$('button').on('click', function () {
$('.test').hide(50, function () {
alert('Some Text');
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>Jop-Request</button>
<div class="test">Some Text</div>
&#13;
答案 1 :(得分:0)
检查与类.test
相关的CSS是否设置为:
.test {
display: block!important;
}
它是如何形成的例子:
$('#jobrequest-open').click(function(){
alert("test");
$(".test").hide();
});
.test {
display: block!important;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="test">
diz me
</div>
<button id="jobrequest-open" class="btn btn-block btn-info">Job Requestor
Submission</button>
以及它如何运作的例子:
$('#jobrequest-open').click(function(){
alert("test");
$(".test").hide();
});
.test {
/* Nothing */
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="test">
diz me
</div>
<button id="jobrequest-open" class="btn btn-block btn-info">Job Requestor
Submission</button>
答案 2 :(得分:0)
我认为问题是alert("test")
会阻止在窗口上运行的每个进程,因此在关闭警报之前div不会隐藏。
您可以通过将alert
置于回调中来避免这种情况:
$('#jobrequest-open').click( function(){
$(".test").hide(50, function(){
// This function will trigger AFTER the hide animation
alert("test");
});
});
答案 3 :(得分:0)
感谢您的帮助。没有直接的答案,但线索在各种反应中。我的问题不是js。我的问题是触发按钮位于整个脚本的上下文中。我在表单标签中有btn。我是一个傻瓜没有发现一点早,但希望有人会受益 - 如果他们放一个hide() - 或任何其他js渲染类型触发按钮 - 在表单标签内。