Javascript code to detect if focus is in a text field

javascript, jquery, plugins, safari-extension

Solution

Just keep it simple:

var el = document.activeElement;

if (el && (el.tagName.toLowerCase() == 'input' && el.type == 'text' ||
    el.tagName.toLowerCase() == 'textarea')) {
  // focused element is a text input or textarea
} 

Problem

I'm trying to make a safari extension that does something if the cursor focus isn't in a text field. However the following code to detect if the focus isn't in a text field does not work. ``` if ($(document.activeElement).attr("type") != "text" && $(document.activeElement).attr("type") != "textarea") { ..do something } ```

Original source

Related problems