使用回车键关闭div

时间:2014-02-27 08:57:34

标签: javascript html

美好的一天!我想问一下如何使用回车键关闭div(对话框); 我有这段代码:

<script>
function sendbutton(){
//code to make the hidden div visible upon onclick
}
</script>

<style>
.button {
height: 25px;
width: 90px;
}
.sendmessage {
height: 60%;
width: 60%;
visibility: hidden;
}
</style>
</head>
<body>
<form name="reg" id="myform">
<ul>
<li>customer first name</li>
<li><input type="text" id="userfirstname" /></li>
<li><div class="button" onclick="sendbutton(); return false;">send</div></li>
</ul>
</form>

<div class="sendmessage">
<p>your message was successfully sent!</p>
<div class="niokbutton" onclick="okbuttonsend()">ok</div>
</div>

就像这样,我希望用户填写我制作的表格,按下send(这是一个div)后,它会显示一条消息(我创建的div或隐藏的对话框);如何在按回车键时关闭此对话框?

如果可能的话,只有javascript no jquery please。

6 个答案:

答案 0 :(得分:3)

使用jQuery:

$(document).keypress(function(e) {
    if(e.which == 13) {
        $('.YOURDIVCLASSNAME').hide();
    }
});

没有jQuery:

<input id="yourelement" type="text" onkeypress="myFunction()">

<script>
function myFunction(event) {
   if (event.which == 13 || event.keyCode == 13) {
      document.getElementById("yourelement").style.display = 'none';
      return false;
   }
   return true;
}
</script>

答案 1 :(得分:1)

这适用于按键和单击并使div可见

<script>
function sendbutton(){
   // show okbuttonsend
   if (document.getElementsByClassName("sendmessage")) {
      document.getElementsByClassName("sendmessage")[0].style.display = 'block';
   }
}

document.onkeypress = okbuttonsend;

function okbuttonsend(e) {
    e = e || window.event;
    // Enter key has key code 13
    if (e.which == 13 || e.keyCode == 13) {
       if (document.getElementsByClassName("sendmessage")) {
          document.getElementsByClassName("sendmessage")[0].style.display = 'none';           
          return false;
       }
   }
   return true;
}

</script>

答案 2 :(得分:0)

$(function () {
  $(document).keyup(function (e) {
     if(e.keyCode === 13)
     $('#divid').hide();
  });
});

答案 3 :(得分:0)

我的答案是jquery ..如果你希望点击时可以看到div ...只需使用

$(this).click(function(){
   $('div').show();
});

$(this).click(function(){
   $('div').css('visibility', 'visible');
});

如果你想隐藏......只需将'可见'改为'隐藏'

希望它有所帮助......即使它是jquery:D

答案 4 :(得分:0)

其他答案:$函数是jQuery(或Prototype),他不希望这样。

通常<input type=submit>会这样做。输入键默认发送表单,除非焦点在textarea中。

答案 5 :(得分:0)

仅按需要JavaScript(无Jquery):

为该框添加一个ID,以便更容易定位:

<div id="messageBox" class="sendmessage">
<p>your message was successfully sent!</p>
<div class="niokbutton" onclick="okbuttonsend()">ok</div>
</div>

JavaScript的:

document.onkeydown = function(evt) {
    evt = evt || window.event;
    if (evt.keyCode == 13) {
        var box = document.getElementById("messageBox");
        box.style.visibility="hidden";
    }
};