如何在Javascript/jQuery中隐藏和显示元素
How to hide and show element in Javascript/jQuery on keydown OR click?
我试图隐藏和显示一个带有keydown事件的输入框,但如果在输入框外单击,我不知道如何执行同样的操作。
HTML:
<header>
<h1>Hello {{visitorInput}}!</h1>
<h4 id="greet">Nice to see you :)</h4>
<form action="#">
<input type="text" ng-model="visitorInput" id="visitorInput" placeholder="Please enter your name and press Enter.">
</form>
</header>
Javascript/jQuery:
var visitorInput = document.getElementById("visitorInput");
$('#visitorInput').focus();
$('#visitorInput').keydown(function( event ){
if(event.which == 13){
$("#greet").show();
console.log('Visitor name is: ' + visitorInput.value);
//alert('Visitor name is: ' + visitorInput.value);
$("#visitorInput").hide();
$('#greet, h1').click(function(){
$('#visitorInput').show().focus();
$('#greet').hide();
});
};
});
使用以下编码
var visitorInput = document.getElementById("visitorInput");
$('#visitorInput').focus();
$('#visitorInput').keydown(function( event ){
if(event.which == 13){
$("#greet").show();
console.log('Visitor name is: ' + visitorInput.value);
//alert('Visitor name is: ' + visitorInput.value);
$("#visitorInput").hide();
};
});
$('#greet, h1').click(function(){
$('#visitorInput').show().focus();
$('#greet').hide();
});
在按键事件编码之外应用点击事件
您在一条评论中表示,keydown可以按照您的意愿工作,所以我只简化了那里的代码,并保留了功能,尽管它对我来说确实是一个奇怪的用户体验,所以我认为这里没有显示更多内容。
关于当用户点击退出时使输入消失,您需要.blur()
var $visitorInput = $('#visitorInput').focus();
$visitorInput.keydown(function(event) {
if (event.which == 13) {
var $greet=$("#greet").show();
console.log('Visitor name is: ' + visitorInput.value);
$visitorInput.hide();
$("#greet, h1").click(function() {
$visitorInput.show().focus();
$greet.hide();
});
};
}).blur(function(event) {
$visitorInput.hide();
});
#greet {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<header>
<h1>Hello {{visitorInput}}!</h1>
<h4 id="greet">Nice to see you :)</h4>
<input type="text" ng-model="visitorInput" id="visitorInput" placeholder="Please enter your name and press Enter.">
</header>
相关文章:
- 基于其他下拉菜单选择隐藏/显示下拉菜单
- 数据表-隐藏/显示列
- $scope变量,ng隐藏/显示
- 隐藏/显示包含单词的ul li项目.但只能入住李的子女
- JQuery隐藏/显示无法正常工作
- 隐藏/显示下面的分区根据是否选择某个选项进行选择
- 使用类而不是id在JavaScript中隐藏显示
- 我想隐藏/显示我的SVG元素,同时在anguarJS中使用它
- 隐藏/显示图像
- Javascript 中的表 - 隐藏/显示列
- 仅使用Javascript隐藏/显示元素,而不会弄乱DOM
- 隐藏/显示 js 代码不会在 IE8 或更低版本上运行
- Magento:根据所选国家/地区隐藏/显示输入字段
- 货到付款选择隐藏/显示付款方式
- "隐藏/显示”;元素和更改按钮背景图像
- Bootstrap Collapse.js切换菜单的隐藏/显示
- 如何隐藏/显示<面板>使用jquery
- 在php中隐藏/显示切换回声结果
- 如何使用jquery使2个按钮切换css,而只使用1个按钮.不显示隐藏/显示
- JQuery隐藏/显示不起作用