$("#search").click(function(){
var act = document.activeElement.id;
if(act == "search" ){
$(".search-btn i").css("color","#00C680");
$(".search-btn i").css("z-index","1");
}else{
$(".search-btn i").css("color","#FFF");
$(".search-btn i").css("z-index","-1");
}
});
input为焦点时,if代码生效了,不是焦点时,else没有生效,是哪里写错了?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
如果仅仅是纯展示层的问题可以思考用css解决?
不知道你的dom结构。以bootstrap的dom结构为例:
关于activeElement对象我也只能参见文档:https://developer.mozilla.org/zh-CN/docs...
可以通过:focus这种选择器 判断,例如
if( $('input:focus').length==0 ){
//不是焦点
}else{
//是焦点
}
你点击一个id为search的标签,然后判断这个标签是否为获得焦点。
这个写法当然会一直往if的方向走下去啊, 因为你点击一个标签,都会默认获得焦点,if的条件一直成立。
你的点击事件都绑定在了search上了,点击其它地方肯定不会调用click里面的方法了,当然也就不会执行。
可以用focus()和blur()的方法判断是否获得焦点和失去焦点。