2014-02-27 191 views
1

日安關閉一個div!我想問一下如何使用回車鍵關閉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> 

它是這樣的,我想用戶填寫了我發的形式,按發送(這是一個div),它會顯示一條消息(一個div或者一個對話框後,我做的那個是隱藏的);如何在按下回車鍵時關閉此對話框?

如果可能的話只有JavaScript沒有jQuery,請。

+0

它不是完全在表單字段上,他們應該按下回車鍵,它是當他們按下發送按鈕(這是我做的對話框或div),並且當該消息顯示它會說消息發送成功!在一個對話框,該消息出現後我希望用戶使用的不只是使用的onclick股利(或OK包廂)輸入鍵關閉,那麼它是否可以關閉這個div(隱藏在第一,但將成爲後可見onclick)使用回車鍵? – user3359630

+0

查看我的回答低於 – LGSon

回答

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> 
0
$(function() { 
    $(document).keyup(function (e) { 
    if(e.keyCode === 13) 
    $('#divid').hide(); 
    }); 
}); 
0

我的回答是jQuery的..如果你想要的股利是在點擊可見...只需使用

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

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

,如果你想隱藏...只是改變了 '看得見' 到 '隱藏'

希望它可以幫助...甚至是jQuery的:d

+0

更好地將顯示設置爲none,因爲使用可見性css屬性該元素仍然在屏幕上但不可見,意味着可能存在一些佈局問題 – ReeCube

0

其他答案:$函數是jQuery(或Prototype),他不想那樣做。

通常<input type=submit>會做到這一點。回車鍵將默認發送表單,除非焦點位於textarea中。

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"; 
    } 
}; 
1

這既適用於關鍵請點擊並進行股利可見

<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>