我正在开发 jquery 移动网站。我想使用 javascript 或 jquery 将焦点放在文本字段上,以便它会弹出键盘。我已经尝试过.focus(), .select()
,.trigger('focus')
但它不起作用。--HTML--
<input id='txt' type='search' value='' />
--JQUERY--
$('#txt').focus();
$('#txt').select();
$('#txt').focus();
我正在开发 jquery 移动网站。我想使用 javascript 或 jquery 将焦点放在文本字段上,以便它会弹出键盘。我已经尝试过.focus(), .select()
,.trigger('focus')
但它不起作用。--HTML--
<input id='txt' type='search' value='' />
--JQUERY--
$('#txt').focus();
$('#txt').select();
$('#txt').focus();
编辑:不确定您是指 jquery mobile 还是移动 jquery 站点,但如果您确实在使用jquery mobile,请参见下文:
自从您在上面注意到您正在使用jquery mobile以来,有几件事:
使用 $(document).on('pageinit'),而不是 $(document).ready():
在 jQuery 中学习的第一件事是调用 $(document).ready() 函数中的代码,以便在加载 DOM 后立即执行所有内容。但是,在 jQuery Mobile 中,Ajax 用于在您导航时将每个页面的内容加载到 DOM 中,并且 DOM 就绪处理程序仅针对第一页执行。要在加载和创建新页面时执行代码,您可以绑定到 pageinit 事件。此事件在本页底部有详细说明。
此外,您可能需要.focus
在事件中插入代码,例如pagecreate
事件:
当页面在 DOM 中创建(通过 ajax 或其他)但在所有小部件有机会增强包含的标记之前触发。此事件对于希望像 jquery 移动小部件一样创建自己的自定义小部件以增强子标记的用户最有用。
在此处查看有关文档的更多事件。
如果您只是使用常规jQuery,那么您可能需要将代码包装在$(document).ready(function(){ ... });
. 这有助于确保加载 DOM 并允许您的 jQuery 选择器$("#txt")
找到页面上的元素。如果运行 JavaScript 时 DOM 尚未加载,input
则不会找到 DOM。
它应该可以工作,但既然没有,我会尝试一些不那么正常的东西,比如 .click()。你试过了吗?它应该工作。