According to the documentation, the $event object can be an instance of a jQuery Event Object if jQuery is present, or a similar jqLite object.
In angular-material, it is used to reference the DOM event object. For example, the event object of a click is utilized in $mdDialog.
Updated Information:
To access the $event object and pass it through $state.go(), you need to enclose your state change within an ng-click
event:
<div ng-app="myApp" ng-controller="myController">
<a ng-click="show($event)">add campaign</a>
</div>
Then, configure your state like this:
.state("campaigns.add", {
url: "/add",
resolve: {
event: function($stateParams) {
return $stateParams.event;
}
},
onEnter: function($mdDialog, $state) {
var ev = null;
$mdDialog.show(
$mdDialog.alert()
.parent(angular.element(document.body))
.title('This is an alert title')
.content('You can specify some description text in here.')
.ariaLabel('Alert Dialog Demo')
.ok('Got it!')
.targetEvent(event)).then(function() {
$state.go('done');
});
}
})
A demonstration based on the code from another question can be found here: http://jsfiddle.net/f30wesj3/2/