Reputation: 624
I have a confirmation popup that opens when a user clicks on this link:
<a onClick="openPopup('#popup1')">foo</a>
here is the relevant JavaScript:
function openPopup(id) {
$(id).show();
event.preventDefault();
$(id).addClass('is-visible');
$(id).css("z-index", "999999999999999999999999");
}
In Safari and Chrome it works fine. In Firefox, however, the trigger does not seem to work. Any ideas why?
I already tried to change the link like so:
<a href="javascript:openPopup('#popup1');">foo</a>
no changes though. thanks for your help!
Upvotes: 1
Views: 13935
Reputation: 523
I think what you might be experiencing is a problem with the uppercase C in onClick
. Try changing it to onclick
(all lowercase).
See this question: onclick or onClick?
Also you may have trouble accessing the event
object:
Access global event object in Firefox
But it the case of your example I don't think you will need it.
event.preventDefault
prevents the browser trying to follow a href
of a link when it is clicked (you don't have an href
in your example). If the link gets followed, and your browser navigates to another page you will not get a chance to see any error that may have happened and it can be very frustrating to work out what is going on, so if you do need to use event.preventDefault
make sure it is on the first line of the function it is in
Upvotes: 1
Reputation: 816424
In Firefox, however, the trigger does not seem to work. Any ideas why?
Firefox does not make the event object global. You have to pass it along to the event handler, e.g.
onClick="openPopup('#popup1', event)"
Since you are using jQuery, you should bind the handler with jQuery so that you can also use jQuery's augmented event object.
Upvotes: 7