有什么方法可以找出是什么使第一个 html 元素(输入、文本区域)获得焦点?
我正在加载一个模态窗口,但似乎找不到将 focus() 强制施加在第一个元素上的 JS 行。
一个解决方案是在加载模态窗口后立即对其进行 blur() ,但我想知道是什么触发了这个焦点。也许一些事件侦听器内嵌在文本区域中?
谢谢你的帮助!
有什么方法可以找出是什么使第一个 html 元素(输入、文本区域)获得焦点?
我正在加载一个模态窗口,但似乎找不到将 focus() 强制施加在第一个元素上的 JS 行。
一个解决方案是在加载模态窗口后立即对其进行 blur() ,但我想知道是什么触发了这个焦点。也许一些事件侦听器内嵌在文本区域中?
谢谢你的帮助!
可以使用元素上的onFocus事件来分析返回的事件对象
//using jquery 1.8 style binding with 'on'
$('#myelement').on('focus', function( e ){
console.log( e ); // <--- e is passed to the anonymous function
});
此e
代码中的 是传递给事件处理程序的事件对象的一个实例。
查看Event Object的 jQuery 文档,特别是查看event.target 文档。
目标属性可以是为事件注册的元素或它的后代。
注意:有多种方法可以将焦点设置在不包含任何 javascript 调用的元素上。
例如在 html 5 中,您可以使用定义文档的默认焦点autofocus
一些浏览器甚至可能将默认焦点设置为文档上的第一个输入元素,或者使用许多其他 HTML 属性。
Javascript 可能不是您幻像焦点的原因。