angularJs 按下回车键触发事件这个功能很简单,但是今天的却让我掉坑很久。。。。
由于我的页面上有两个不同方法都传$event事件,如search($event)和create($event);
html代码:
<input type="text" placeholder="支持空格及英文逗号分隔"
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其实没什么关系,一个是停止传播事件,一个是阻止默认的行为(如<a>标签的地址跳转等)。
用下边例子给大家演示一下就知道了。
preventDefault()方法示例:JS阻止链接跳转 百度
stopPropagation()用法示例:阻止JS事件冒泡传递(cancelBubble 、stopPropagation) This is parent1 div.
This is child1.
This is parent1 div.
This is parent2 div.
This is child2. Will bubble.
This is parent2 div.