jquery - jquery焦点和模糊方法
问题描述
当我点击按钮时,搜索输入是焦点,但我希望焦点在第二次点击时消失。这是我的代码:
// 搜索按钮
$("#mob-search-btn").click(function() {
$(".search-container input").focus();
});
我在 w3 学校找到了这个,但我只需要一个按钮就可以完成这项工作。 https://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_event_focus_blur_trigger
希望能得到各位大佬的帮助。
解决方案
在决定做什么之前,您需要检查指定的输入是否具有焦点:
解决方案 1(https://jsfiddle.net/azbnmuL9/3/):
( function($) {
$('.search-container input').focus( function() {
$(this).addClass('has-focus');
});
$( '#mob-search-btn' ).click( function() {
var el = $( '.search-container input' );
if(el.hasClass('has-focus')) {
el.blur();
el.removeClass('has-focus');
} else {
el.focus();
}
} );
} )(jQuery);
缺点:如果您手动将焦点更改为其他内容,对您没有任何好处。
解决方案 2(https://jsfiddle.net/azbnmuL9/):
( function($) {
$( '#mob-search-btn' ).mousedown( function(e) {
e.preventDefault();
var el = $( '.search-container input' );
if(el.is(':focus')) {
el.blur();
} else {
el.focus();
}
} );
} )(jQuery);
缺点:e.preventDefault();
阻止按钮单击(提交表单或其他)。
推荐阅读
- android - 在 android 11 中未检测到 ARCore kotlin/flutter
- c++ - c++中的字符矩阵
- docker - 如何让我的证书适用于 LocalStack 中的 SSL
- go - 如何运行 GO 可执行文件?
- python - 在 Jupiter notebook 中运行“import torch”时,我得到“No module named “torch”
- c - 打印非 0 终止字符串时使用 percison 的可移植性
- swiftui - 在 NavigationView 动画期间更新观察到的模型会导致导航中止
- mysql - 为什么 INSERT 创建 X 锁
- python - 如何使用 curl 命令的输出,如 python 中的字典?
- jquery - React 中的 3D 画廊房间