多按钮单击事件处理程序

时间:2014-03-05 18:28:03

标签: jquery backbone.js

我的html模板中有以下内容

<div id="add">
    <fieldset>
    </fieldset>
    <input type="button"  id="cancel" value="AddCancel"/>
</div>
<div id="update">
    <fieldset>
    </fieldset>
    <input type="button" id="cancel" value="UpdateCancel"/>
</div>

事件与按钮的主干相连。我遇到的是我必须连接AddCancel事件和UpdateCancel事件等等。

有没有一种方法可以让我有一个cancel按钮事件和处理程序来识别被点击的取消按钮属于哪个div?

2 个答案:

答案 0 :(得分:0)

如果您只想举办一个活动。首先确保你的html是正确的,它不能有两个具有相同ID的按钮。改用类

<div id="add">
    <fieldset>
    </fieldset>
    <input type="button"  class="cancelbtn" id="btn1" value="AddCancel"/>
</div>
<div id="update">
    <fieldset>
    </fieldset>
    <input type="button" class="cancelbtn" id="btn2" value="UpdateCancel"/>
</div>

接下来在jquery中使用此代码

$(".cancelbtn").on("click", function(e){
    var buttonType = $(this).attr("value")
    if(buttonType == "AddCancel"){
        //AddCancel Button Clicked
    }else{
        //UpdateCancel Button Clicked
    }
});

答案 1 :(得分:0)

你可以这样做:

var YourView ...
    events: {
        'click .cancel': 'cancel'
    },

    cancel: function(event) {
        var parent = event.currentTarget.parent(); // gets the parent of the clicked button
        ...
    }
    ...

和html:

<div id="add">
    <fieldset>
    </fieldset>
    <input type="button" class="cancel" value="AddCancel"/>
</div>
<div id="update">
    <fieldset>
    </fieldset>
    <input type="button" class="cancel" value="UpdateCancel"/>
</div>