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
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??
所有回复 (20)
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?
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
i checked on 32 bit firefox too , but that doesnt make any difference
There are possible issues in Firefox with styling a select element.
I undertstand but focus is a basic functionality and not some external CSS working on it ...so I think it should work right !
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.
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?
In Firefox the <iframe> breaks your example, see bug 1272328.
PS. Your function $("#target").focus() is empty, so it's needless.
由TyDraniu于
my question is how to solve this ,,,,this is such a basic function then how can it is not entertained by firefox
It should work outside <iframe>.
I can confirm, like TyDraniu said, that the code does work outside of an <iframe>
.
please see below reply!
由apoorva.nagar于
Do you have a live copy of the code that you are using? The code you provided previously works without issue.
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
for my firefox browser it doesn't applies the CSS , how come its working for ya?
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.
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.
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?
yes its jquery reference error, let me try with javascript directly after I remove autofocus
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>