JS中如何判断一元素是否获得焦点?

JS中如何判断一元素是否获得焦点?(不是让它获得焦点)... JS中如何判断一元素是否获得焦点?(不是让它获得焦点) 展开
 我来答
幻翼高达Zero
2019-06-21 · TA获得超过1.7万个赞
知道答主
回答量:499
采纳率:0%
帮助的人:7.1万
展开全部

需要准备的材料分别是:电脑、html编辑器、浏览器。

1、首先,打开html编辑器,新建html文件,例如:index.html。

2、在index.html的<script>标签中,输入js代码:

$('body').append(document.activeElement.id == "a" ? 'true': 'false');

$('#a').focus(function () {

$('body').append(document.activeElement.id == "a" ? 'true': 'false');

});

3、浏览器运行index.html页面,此时会发现false代表没有聚焦,点击聚焦后发现打印了true。

博学小赵爱生活
高能答主

2019-06-10 · 专注于食品生活科技行业
博学小赵爱生活
采纳数:457 获赞数:111847

向TA提问 私信TA
展开全部

1、js 判断一个文本框是否获得焦点。

// 可以用document.activeElement判断。

// document.activeElement表示当前活动的元素。 

// 查找要判断的文本框。

var myInput = document.getElementById('myInput');

if (myInput == document.activeElement) {

alert('获取焦点');

} else {

alert('未获取焦点');

}

2、文本框获取焦点后执行的方法。

$(".input").focus(function(){......})

3、文本框失去焦点后执行的方法

$(".input").blur(function(){......})。

<html>    

<head>    

<title>设置焦点</title>    

<mce:script language ="javascript"><!--    

function init(){    

var ctrl=document.getElementById("UserName");    

ctrl.focus();    

}   

// --></mce:script>    </head>    

<body onload="init()" >    

<h1>设置焦点</h1>    

姓名:<input type="text" id="UserName">    

</body>    

</html>  

扩展资料:

使用JS取得焦点(focus)元素代码:

应用程序的可用性和可访问性的一个重要组成部分是输入焦点(focus)的处理,但这又是开发人员常常会忽视的一点。

对输入焦点处理很差的一个例子: 在点击一个链接以后打开一个窗口,但却不将光标聚焦到窗口中的任何元素内。 

甚至更糟的是: 聚焦到模态窗口中的某个元素,但在关闭以后焦点照样不返回。 理想情况下,在触发链接时会保存一个引用,然后将光标聚焦到新窗口,并在窗口关闭时把光标重新移回去。 

The JavaScript。

使用 document.activeElement 来查找当前选中的元素是很容易的事: 

代码如下:

var focusedElement = document.activeElement; 

/* 比如某个示例: 

var triggerElement = document.activeElement; 

myModal = new MyModal({ 

onOpen: function() { 

this.container.focus(); 

}, 

onClose: function() { 

triggerElement.focus(); 

}); 

*/ 

这个属性不仅在常规输入元素上可用,包括表单字段或 <a> 标签链接,而且只要设置了 tabIndex 属性的任意元素都是可用的。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cainiaokan
推荐于2017-06-19 · TA获得超过2917个赞
知道小有建树答主
回答量:651
采纳率:66%
帮助的人:600万
展开全部

例如你页面里有一个input输入框,id为my_input,判断这个元素是否获得焦点的方法如下

// 先获取输入框元素
var input = document.getElementById('my_input');
var hasFocus = document.hasFocus() &&
    document.activeElement === input;
// 如果hasFocus为true表示input元素获得焦点,否则没有获得焦点
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-16
展开全部
<input type='text' value='' onfocus='if(document.activeElement.id == this.id)alert("文本框获得焦点...");'>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-16
展开全部
<html>
<head>
<script type="text/javascript">
var t1=document.getElementById("txt1");
function isFocus(){
if(document.activeElement.id=='txt2'){
alert('txt2获得焦点');
}
else{
alert('txt2未获得焦点');
}
}
</script>
</head>
<input id="txt1" type="text" value="aaaaa" onblur="isFocus()">
<input id="txt2" type="text" value="bbbbb">
<input id="txt3" type="text" value="cccc">
</html>
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式