防止主干事件发生

时间:2012-11-04 12:25:20

标签: javascript javascript-events backbone.js

我有一个带有骨干视图的基本表单,当我在顶部输入上按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') });
});​

​

jsFiddle here

2 个答案:

答案 0 :(得分:3)

您需要指定type="button",否则默认为submit,然后点击输入表单中的文本框输入触发提交...

http://jsfiddle.net/PJhED/40/

    <button class="browse" type="button">Browse...</button>

答案 1 :(得分:1)

将其更改为<button class="browse" type="button">Browse...</button>

http://jsfiddle.net/2Rt6p/1/