mirror of
https://github.com/zhigang1992/angular.js.git
synced 2026-04-19 23:11:21 +08:00
fix preventDefault for events
This commit is contained in:
@@ -199,10 +199,10 @@ angularWidget("@ng:repeat", function(expression, element){
|
||||
angularDirective("ng:click", function(expression, element){
|
||||
return function(element){
|
||||
var self = this;
|
||||
element.bind('click', function(){
|
||||
element.bind('click', function(event){
|
||||
self.$tryEval(expression, element);
|
||||
self.$root.$eval();
|
||||
return false;
|
||||
event.preventDefault();
|
||||
});
|
||||
};
|
||||
});
|
||||
|
||||
@@ -104,19 +104,12 @@ JQLite.prototype = {
|
||||
eventHandler = bind[type];
|
||||
if (!eventHandler) {
|
||||
bind[type] = eventHandler = function(event) {
|
||||
var bubbleEvent = false;
|
||||
foreach(eventHandler.fns, function(fn){
|
||||
bubbleEvent = bubbleEvent || fn.call(self, event);
|
||||
});
|
||||
if (!bubbleEvent) {
|
||||
if (msie) {
|
||||
event.returnValue = false;
|
||||
event.cancelBubble = true;
|
||||
} else {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
}
|
||||
if (!event.preventDefault) {
|
||||
event.returnValue = false;
|
||||
}
|
||||
foreach(eventHandler.fns, function(fn){
|
||||
fn.call(self, event);
|
||||
});
|
||||
};
|
||||
eventHandler.fns = [];
|
||||
addEventListener(element, type, eventHandler);
|
||||
|
||||
@@ -198,14 +198,15 @@ function inputWidget(events, modelAccessor, viewAccessor, initFn) {
|
||||
this.$eval(element.attr('ng:init')||'');
|
||||
// Don't register a handler if we are a button (noopAccessor) and there is no action
|
||||
if (action || modelAccessor !== noopAccessor) {
|
||||
element.bind(events, function(){
|
||||
element.bind(events, function(event){
|
||||
model.set(view.get());
|
||||
lastValue = model.get();
|
||||
scope.$tryEval(action, element);
|
||||
scope.$root.$eval();
|
||||
// if we have noop initFn than we are just a button,
|
||||
// therefore we want to prevent default action
|
||||
return initFn != noop;
|
||||
if(initFn == noop)
|
||||
event.preventDefault();
|
||||
});
|
||||
}
|
||||
view.set(lastValue = model.get());
|
||||
|
||||
Reference in New Issue
Block a user