button onclick 的问题

郑爽
  • 109

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>无标题</title>
    <script src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
</head>
<style>
    .hideBox{
        display: none;
    }
</style>
<body>
    <button class="reply-btn">回复</button> 
   //上面这个按钮没问题 
    <button onclick=“side()”class="reply-btn">回复</button> 
    //这个按钮已经有了一个onclick,该怎样还能执行这个显示隐藏的函数。
    
</body>
<script>
    $('.reply-btn').click(function(){
    var $commentWrap = $(this).siblings('.comment-wrap');
    // 3. 点击其他回复按钮时,原先的回复框隐藏
    $(this).parent('.article').siblings().find('.comment-wrap').hide();
    
    // 判断点击一次回复,显示回复框,再点击一次就隐藏
    if($commentWrap.hasClass('show')){
        // 隐藏
        $commentWrap.removeClass('show').hide();
    }else{
        // 显示
         $commentWrap.addClass('show').show();
    }
});
</script>
</html>

我想在第二个button上执行这个函数,该怎样写。他已经有一个onclick

我是要点了这个按钮后:若没有显示,就显示。如果已经显示,不要隐藏。

我其实还要第二个按钮,希望点了按钮后:若已经显示,就隐藏。如果已经显示隐藏,不要显示。

回复
阅读 677
1 个回答
✓ 已被采纳

从题主的描述来看(但描述真的不清晰),大概是有两个问题:

  1. <button> 元素已存在 onclick 事件,如何再次绑定新的事件;
  2. 怎么在同一个事件中显示/隐藏某个元素;

如果是这样的话,那么下面这段示例代码大概能给你提供一些参考:

<button id="btn1">btn1</button>
<button id="btn2" onclick="show()">btn2</button>

<script>
$("#btn1").click(function () {
  $("#btn2").toggle();
});
// 这里会追加事件而是不是覆盖
$("#btn2").click(function () {
  $("#btn1").toggle();
});

function show() {
  alert("hello world");
}
</script>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏