通过按一下按钮获得持久的操作

时间:2018-06-26 15:09:01

标签: javascript jquery html button javascript-events

我正在使用HTML + CSS + jQuery开发一个网页,该页面的元素之一是供用户在表单中输入名称,单击“提交”,然后弹出一个表格。这是该部分的相关代码,其提交按钮的类名称为“ submit-button”:

$(document).ready(main)

function main()
{
    $(".submit-button").on("click", () =>
    {
        //code to draw table
    });

    //other code...
}

我遇到的问题是表格在屏幕上闪烁的时间仅是单击按钮的时间(基本上没有),然后消失了。我的问题是,如何使此操作在按钮按下后继续存在?它需要通过按下按钮来触发,但也要持续到其外部。我知道表格绘制代码在事件处理程序外部运行时可以工作,但是我想这样做,因此表格仅在按下按钮时显示。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

考虑到该表位于ID为“ mytable”的div中,请使用:

$(".submit-button").on("click", () =>
    {
        document.getElementById("mytable").style.display="block";
    });

请记住,最初将“ mytable”的样式保留为display:none。 希望这就是您所需要的。

答案 1 :(得分:0)

继续Arex所说,我使用了.css()方法。

在CSS中,我设置了table { display: hidden; }

或者,您可以使用$('table').hide()$('table').show()


$(document).ready(() => {
  $('table')
  $('button').on('click', () => {
    $('table').css('display', 'block');
  });
});
table {
    font-family: arial, sans-serif;
    border-collapse: collapse;
    width: 100%;
    display: none;
}

td, th {
    border: 1px solid #dddddd;
    text-align: left;
    padding: 8px;
}

tr:nth-child(even) {
    background-color: #dddddd;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<table>
  <tr>
    <th>Company</th>
    <th>Contact</th>
    <th>Country</th>
  </tr>
  <tr>
    <td>Alfreds Futterkiste</td>
    <td>Maria Anders</td>
    <td>Germany</td>
  </tr>
  <tr>
    <td>Centro comercial Moctezuma</td>
    <td>Francisco Chang</td>
    <td>Mexico</td>
  </tr>
  <tr>
    <td>Ernst Handel</td>
    <td>Roland Mendel</td>
    <td>Austria</td>
  </tr>
  <tr>
    <td>Island Trading</td>
    <td>Helen Bennett</td>
    <td>UK</td>
  </tr>
  <tr>
    <td>Laughing Bacchus Winecellars</td>
    <td>Yoshi Tannamuri</td>
    <td>Canada</td>
  </tr>
  <tr>
    <td>Magazzini Alimentari Riuniti</td>
    <td>Giovanni Rovelli</td>
    <td>Italy</td>
  </tr>
</table>
<br>
<button>Show Table</button>