angularJs 按下回车键触发事件这个功能很简单,但是今天的却让我掉坑很久。。。。
由于我的页面上有两个不同方法都传$event事件,如search($event)和create($event);
html代码:
ng-model="ipAdress"
required
style="display: inline-block;height: 37px;width: 96%;float: left;"
ng-keypress="($event.which === 13)?search($event):0"/>
我用的是ng-keypress方法,search($event)是我想要按下回车触发的函数,传值$event是为了在search函数执行时阻止默认事件。
js处理:
function search($event){
//to do someing.........
$event.preventDefault();//阻止默认事件(如果不写这个create($event)函数里边的内容也会执行)
}
强调:这里必须用preventDefault()方法,而不是stopPrapagation();这两个是不同的;这里我给大家简单普及一下。
严格来说stopPropagation与preventDefault其实没什么关系,一个是停止传播事件,一个是阻止默认的行为(如标签的地址跳转等)。
用下边例子给大家演示一下就知道了。
preventDefault()方法示例:
JS阻止链接跳转functionstopDefault( e ) {if( e&&e.preventDefault )
e.preventDefault();elsewindow.event.returnValue= false;return false;
}
百度
vartest=document.getElementById('testLink');
test.οnclick= function(e) {
alert('我的链接地址是:' + this.href+ ', 但是我不会跳转。');
stopDefault(e);
}