I generate HTML using jQuery:
$("<a />")
.append("demo")
.click(function () { DemoFunc(event, value.Id) })
This works perfect for Chrome and IE8, but in FireFox I got an error: "event is not defined". I changed the code like this:
.attr("onclick", "DemoFunc(event, " + value.Id + ")")
It works for Firefox, but not for Chrome and IE.
DemoFunc = function (e, assocGroupId) {
var target = (e.target) ? $(e.target) : $(e.srcElement);
....
}
Why!? Help!!
In IE and Chrome, event
is resolving to window.event
. Firefox doesn't have this property and instead provides an event to an event handler function by passing it as a parameter. jQuery abstracts this difference for you by providing an event object parameter in all browsers:
$("<a />")
.append("demo")
.click(function (evt) { DemoFunc(evt, value.Id) });
If you have structured your code around working with the original event rather than the jQuery event, you can use evt.originalEvent
to refer to the native event.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With