onclick event in select HTML not working in Safari

2020-03-30 06:27发布

问题:

I have an ASP.NET dropdown list control with onclick and onchange JavaScript events. Both work in IE, Mozilla, Opera and Chrome, but not in Safari. When I remove the onclick event, onchange suddenly works.

The reason I use onclick is to get the value of the dropdown list before it changes. Is there a way I can do that without using onclick? That is, get the value of the dropdown list before it changes/a new value is selected? I want to do this in JavaScript only.

回答1:

Sometimes you need to add preference to the JavaScript function as "javascript:"; for example:

<select onclick="changeDate()">

should be

<select onclick="javascript:changeDate()">


回答2:

Replacing the onclick event with onfocus solved the problem. I guess Safari doesn't like onclick event on select elements.



回答3:

For me in Chrome, onclick working with second click on select box Where as in FF & IE, its working fine for first click itself.



回答4:

<select onclick="changeDate()">

Should be changed to

<select onchange="changeDate()">

Safari seems to react as a open even and not a close event, like in the other browsers.