Javascript 防止主干事件触发

Javascript 防止主干事件触发,javascript,javascript-events,backbone.js,Javascript,Javascript Events,Backbone.js,我有一个带有主干视图的基本表单,当我在顶部输入上按enter键时,将触发open事件。如何确保打开事件仅在按下浏览按钮时触发 <form method="post"> <div> <input type="text" /> </div> <div id="myId"> <input type="text" /> <button class="bro

我有一个带有主干视图的基本表单,当我在顶部输入上按enter键时,将触发open事件。如何确保打开事件仅在按下浏览按钮时触发

<form method="post">
    <div>
        <input type="text" />
    </div>
    <div id="myId">
        <input type="text" />
        <button class="browse">Browse...</button>
    </div>
    <input type="submit" value="Save" />
</form>

var MyView = Backbone.View.extend({

    events: {
        'click button.browse': 'open'
    },

    open: function(e) {
        alert('Open dialog');
    },

    initialize: function() {},

    render: function() {}
});

$(function() {
    var myView= new MyView({ el: $('#myId') });
});​

​

浏览。。。
var MyView=Backbone.View.extend({
活动:{
'单击按钮。浏览':'打开'
},
开放:功能(e){
警报(“打开对话框”);
},
初始化:函数(){},
呈现:函数(){}
});
$(函数(){
var myView=newmyview({el:$('#myId')});
});​
​

您需要指定
type=“button”
,否则它默认为
submit
,在表单中输入的文本框中点击enter键将触发提交

浏览。。。

您需要指定
type=“button”
,否则它默认为
submit
,在表单中输入的文本框中点击enter键将触发提交

浏览。。。
将其更改为
浏览…

将其更改为
浏览…


我想你误解了,如果你选择第一个输入,然后按enter键,打开的事件就会被触发,我不希望这种情况发生。@Marcus啊,我明白了。发生这种情况很奇怪,让我想想。我想你误解了,如果你选择第一个输入,然后按enter键,打开的事件就会被触发,我不希望发生这种情况。@Marcus啊,我明白了。发生这种事真奇怪,让我想想。
    <button class="browse" type="button">Browse...</button>