Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

I am a web developer,using jquery,when i do $("#target").focus() it doesnt work on mozilla 64 bit , but works fine on chrome and Edge, even older version of IE

  • 23 replies
  • 1 has this problem
  • 119 views
  • آخر ردّ كتبه apoorva.nagar

more options

I am a web developer,using jquery.js and jquery.ui.css ,when i do $("#target").focus() on document .ready function for my first element which is actually a select element ,it doesnt work on mozilla 64 bit , but works fine on chrome and Edge, even older version of IE.

Like it has focus, because when i click tab it highlight the next element with proper border very well, but the first element when focused is not having any blue or a ny color border to show user that the element is in focus??

All Replies (20)

more options

When it comes to issues with specific code, it's always helpful to have a test page that we can explore. Are you able to provide the exact code that you are using or a link to page using the code?

more options

please find js fiddle here , when i run this link in IE and chrome they work fine but not in firefox my select element is not focused on page load

https://jsfiddle.net/9zjqkymh/

more options

i checked on 32 bit firefox too , but that doesnt make any difference

more options

There are possible issues in Firefox with styling a select element.

more options

I undertstand but focus is a basic functionality and not some external CSS working on it ...so I think it should work right !

more options

Your code works without any problems. The issue is that Firefox simply doesn't highlight focused elements like Google Chrome does. Every browser styles elements a little differently and Firefox simply as elected not to highlight focused elements.

You can easily see that it's working because when you press the up or down arrow keys, the options change in the select element. You won't see this on the JSFiddle page because the result box is unfocused when you run the code on there, but running it on a local HTML file will show you the true results.

The only way to get the highlighting would be to add some CSS code, like the following:

#target:focus {
     border: 1px solid blue;
}

Hope this helps.

more options

https://jsfiddle.net/a70pxgwf/2/

please run above fiddle in chrome and IE , it works fine BUT if I run the same in firefox after I apply class to the target it still doesn't apply the css , does this mean that firefox doesn't understand when the element is focused and when it is not?

more options

In Firefox the <iframe> breaks your example, see bug 1272328.

PS. Your function $("#target").focus() is empty, so it's needless.

Modified by TyDraniu

more options

my question is how to solve this ,,,,this is such a basic function then how can it is not entertained by firefox

more options

It should work outside <iframe>.

more options

I can confirm, like TyDraniu said, that the code does work outside of an <iframe>.

more options

please see below reply!

Modified by apoorva.nagar

more options

Do you have a live copy of the code that you are using? The code you provided previously works without issue.

more options

see this code here :

https://jsfiddle.net/wg583xp4/


my code is not in any iframe and this is my code in html hierarchy

its a simple code !

the only difference between fiddle code and my code is , that my select is being created in cshtml and the html helper class creates it.

but the end product iin HTML looks like the fiddle code itself

more options

for my firefox browser it doesn't applies the CSS , how come its working for ya?

more options

Just checked and there is no issue with the code. The drop-down menu is automatically focused when the page is loaded. You can confirm this simply by pressing the up and down arrow on the keyboard to change the value of the drop-down.

However, as it was already mentioned above (which is where the <iframe> talk came from), the demo won't work on JSFiddle because the output code is in an <iframe> on there. However, if you copy and paste it into an HTML file, it works perfectly.

more options

As a side note, focusing the input with jQuery is redundant and unnecessary because you have given the form field the autofocus attribute, which essentially does the same thing. That's supported by all browsers, so unless there is a specific reason that you need the jQuery, you can safely exclude it.

more options

apoorva.nagar said

for my firefox browser it doesn't applies the CSS , how come its working for ya?

Are there any errors in the Developer Tools Console?

more options

yes its jquery reference error, let me try with javascript directly after I remove autofocus

more options

Do you have the jQuery library included on your HTML page? You need this in order to use jQuery on your page. You can either download the jQuery library or add a script tag from a CDN.

Try adding the following code directly before the <script> that contains your jQuery code: <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

  1. 1
  2. 2