查找当前是否选中了文本框
如何找到当前焦点的文本框(或textarea)? 我不知道它是哪一个,我只需要知道一个是否在焦点(光标在其中)。 我如何用javascript和jquery做到这一点?
由于您已找到document.activeElement
,因此可以检查其nodeName。
if (document.activeElement.nodeName == 'TEXTAREA' || document.activeElement.nodeName == 'INPUT') { // .... }
这样的事情。
好吧,刚想通了。 这是我做的:
function checkFocus() { if ($(document.activeElement).attr("type") == "text" || $(document.activeElement).attr("type") == "textarea") { //Something's selected return true; } }
$('#yourTextAreaID:focus');
不行。 :)但是
$('#yourTextAreaID').focus(function(){ // do something });
当元素获得焦点时,会优先执行//do something
代码。
通过检查可编辑的HTMLDivElements来扩展接受的答案:
if (document.activeElement.nodeName == 'TEXTAREA' || document.activeElement.nodeName == 'INPUT' || (document.activeElement.nodeName == 'DIV' && document.activeElement.isContentEditable)) { // … }
$('#target').focus(function() { alert('Handler for .focus() called.'); });
还试试:
alert($("*:focus").attr("id"));