0

我正在使用引导程序来创建堆叠药丸导航控件。控件中的每个条目都是一个链接,并且该链接元素还包含一个按钮。可以单击该按钮来删除列表条目,或者可以单击列表条目本身来对其执行某些操作。

每个列表条目的 html 如下所示:

<li>
    <a href="#" id="launch_me">Some title
        <button class="my-class" id="remove_me">
             <i class="icon-remove"></i>
        </button>

    </a>
</li>

这些项目是根据来自服务器的响应动态添加的。jquery 然后通过以下方式添加点击处理程序:

$("#launch_me").click((function (info) {
    return function () {
        launch(info);
    };
})(myInfo));

$("#remove_me").click((function (info) {
    return function () {
        remove(info);
    };
})(myInfo));

当我单击按钮删除条目时,会触发“删除”单击例程,然后是启动例程。

我怎样才能使它单击删除按钮只会导致删除单击处理程序正在运行?

谢谢!

4

2 回答 2

1

尝试这个:

$("#remove_me").click((function (info) {
    return function (e) {
        e.stopPropagation();
        remove(info);
    };
})(myInfo));

http://api.jquery.com/event.stopPropagation/

这将防止click“删除我”按钮的事件冒泡到其父“启动我”容器并执行其click处理程序。

你之前:http: //jsfiddle.net/HVExt/

之后我的:http: //jsfiddle.net/HVExt/1/

于 2013-04-04T20:54:45.443 回答
0

MyInfo 对我来说看起来很狡猾。我会跳过它并添加;反而。但后来我不知道你的代码的其余部分......

于 2013-04-04T20:54:45.013 回答