I have a drop down navigation menu in which some of the title should not navigate to other page when clicked(these title open a drop down menu when clicked on) while others should navigate (these dont have dropdown and navigate directly).However, both types have href
defined to them
To solve this i added the following css for the former type of titles
pointer-events: none;
and it is working fine.But since this property is not supported by IE, i am looking for some work-around. The annoying thing is that i don't have access and privilege to change the HTML and JavaScript code completely.
Any ideas?
Here is another solution that is very easy to implement with 5 lines of code:
Example:
Best solution:
Runs perfectly on all browsers
Use
OnClientClick = "return false;"
I spent almost two days on finding the solution for this problem and I found this at last.
This uses javascript and jquery.
(GitHub) pointer_events_polyfill
This could use a javascript plug-in to be downloaded/copied. Just copy/download the codes from that site and save it as
pointer_events_polyfill.js
. Include that javascript to your site.<script src="JS/pointer_events_polyfill.js></script>
Add this jquery scripts to your site
And don't forget to include your jquery plug-in.
It works! I can click elements under the transparent element. I'm using IE 10. I hope this can also work in IE 9 and below.
EDIT: Using this solution does not work when you click the textboxes below the transparent element. To solve this problem, I use focus when the user clicks on the textbox.
Javascript:
JQuery:
This lets you type the text into the textbox.
It's worth mentioning that specifically for IE,
disabled=disabled
works for anchor tags:IE treats this as an
disabled
element and does not trigger click event. However,disabled
is not a valid attribute on an anchor tag. Hence this won't work in other browsers. For thempointer-events:none
is required in the styling.UPDATE 1: So adding following rule feels like a cross-browser solution to me
UPDATE 2: For further compatibility, because IE will not form styles for anchor tags with
disabled='disabled'
, so they will still look active. Thus,a:hover{}
rule and styling is a good idea:Working on Chrome, IE11, and IE8.
Of course, above CSS assumes anchor tags are rendered with
disabled="disabled"
Here's a small script implementing this feature (inspired by the Shea Frederick blog article that Kyle mentions):