@@ -375,7 +375,7 @@ var ngBindAttrDirective = ['$interpolate', function($interpolate) {
375
375
*
376
376
* @element ANY
377
377
* @param {expression } expression {@link guide/dev_guide.expressions Expression } to evaluate upon
378
- * click.
378
+ * click. (Event object is available as `$event`)
379
379
*
380
380
* @example
381
381
<doc:example>
@@ -399,20 +399,22 @@ var ngBindAttrDirective = ['$interpolate', function($interpolate) {
399
399
* expressions and are compiled and executed within the current scope.
400
400
*
401
401
* Events that are handled via these handler are always configured not to propagate further.
402
- *
403
- * TODO: maybe we should consider allowing users to control event propagation in the future.
404
402
*/
405
403
var ngEventDirectives = { } ;
406
404
forEach (
407
405
'click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave' . split ( ' ' ) ,
408
406
function ( name ) {
409
407
var directiveName = directiveNormalize ( 'ng-' + name ) ;
410
- ngEventDirectives [ directiveName ] = valueFn ( function ( scope , element , attr ) {
411
- element . bind ( lowercase ( name ) , function ( event ) {
412
- scope . $apply ( attr [ directiveName ] ) ;
413
- event . stopPropagation ( ) ;
414
- } ) ;
415
- } ) ;
408
+ ngEventDirectives [ directiveName ] = [ '$parse' , function ( $parse ) {
409
+ return function ( scope , element , attr ) {
410
+ var fn = $parse ( attr [ directiveName ] ) ;
411
+ element . bind ( lowercase ( name ) , function ( event ) {
412
+ scope . $apply ( function ( ) {
413
+ fn ( scope , { $event :event } ) ;
414
+ } ) ;
415
+ } ) ;
416
+ } ;
417
+ } ] ;
416
418
}
417
419
) ;
418
420
@@ -425,7 +427,7 @@ forEach(
425
427
*
426
428
* @element ANY
427
429
* @param {expression } expression {@link guide/dev_guide.expressions Expression } to evaluate upon
428
- * dblclick.
430
+ * dblclick. (Event object is available as `$event`)
429
431
*
430
432
* @example
431
433
* See {@link angular.module.ng.$compileProvider.directive.ng:click ng:click}
@@ -441,7 +443,7 @@ forEach(
441
443
*
442
444
* @element ANY
443
445
* @param {expression } expression {@link guide/dev_guide.expressions Expression } to evaluate upon
444
- * mousedown.
446
+ * mousedown. (Event object is available as `$event`)
445
447
*
446
448
* @example
447
449
* See {@link angular.module.ng.$compileProvider.directive.ng:click ng:click}
@@ -457,7 +459,7 @@ forEach(
457
459
*
458
460
* @element ANY
459
461
* @param {expression } expression {@link guide/dev_guide.expressions Expression } to evaluate upon
460
- * mouseup.
462
+ * mouseup. (Event object is available as `$event`)
461
463
*
462
464
* @example
463
465
* See {@link angular.module.ng.$compileProvider.directive.ng:click ng:click}
@@ -472,7 +474,7 @@ forEach(
472
474
*
473
475
* @element ANY
474
476
* @param {expression } expression {@link guide/dev_guide.expressions Expression } to evaluate upon
475
- * mouseover.
477
+ * mouseover. (Event object is available as `$event`)
476
478
*
477
479
* @example
478
480
* See {@link angular.module.ng.$compileProvider.directive.ng:click ng:click}
@@ -488,7 +490,7 @@ forEach(
488
490
*
489
491
* @element ANY
490
492
* @param {expression } expression {@link guide/dev_guide.expressions Expression } to evaluate upon
491
- * mouseenter.
493
+ * mouseenter. (Event object is available as `$event`)
492
494
*
493
495
* @example
494
496
* See {@link angular.module.ng.$compileProvider.directive.ng:click ng:click}
@@ -504,7 +506,7 @@ forEach(
504
506
*
505
507
* @element ANY
506
508
* @param {expression } expression {@link guide/dev_guide.expressions Expression } to evaluate upon
507
- * mouseleave.
509
+ * mouseleave. (Event object is available as `$event`)
508
510
*
509
511
* @example
510
512
* See {@link angular.module.ng.$compileProvider.directive.ng:click ng:click}
@@ -520,7 +522,7 @@ forEach(
520
522
*
521
523
* @element ANY
522
524
* @param {expression } expression {@link guide/dev_guide.expressions Expression } to evaluate upon
523
- * mousemove.
525
+ * mousemove. (Event object is available as `$event`)
524
526
*
525
527
* @example
526
528
* See {@link angular.module.ng.$compileProvider.directive.ng:click ng:click}
0 commit comments