Jquery点击然后隐藏不工作

时间:2017-09-22 00:09:20

标签: jquery html

我多次使用以下基本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插件 - 不认为这应该是一个问题。

4 个答案:

答案 0 :(得分:1)

如果你使用现代版本试试这个,因为在新版本中这种写事件的方式已被弃用

&#13;
&#13;
$('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;
&#13;
&#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渲染类型触发按钮 -  在表单标签内。