如何从<div id =“whatever”> <a class="action-add" href="/x/y/z">add</a> </div>中捕获click事件

时间:2012-05-02 00:13:31

标签: jquery jquery-ui

想要抓住嵌入在div中的此锚点的click事件....锚实际上调用了一个模态对话框表单,我需要压缩该调用,以便弹出窗口不会出现。

<div id="whatever"><a class=" modal-dialog button action-add" href="/x/y/z">add</a></div>

<script type="text/javascript">
    $("#whatever").click(function (e) {
        alert('hello');
        e.preventDefault();
    });
</script>

上面的代码被调用,但它弹出一个模态窗体/弹出窗口,我想以某种方式压缩该锚点击的弹出窗口。我认为e.preventDefault会这样做,但弹出窗口仍然会出现。

1 个答案:

答案 0 :(得分:2)

问题是你的处理程序只有在从单击锚点传播后才被调用,这意味着锚点的默认行为仍在发生。

如果你只在div里面有一个锚点,那就可以了:

<script type="text/javascript">
    $("#whatever a").click(function (e) {
        alert('hello');
        e.preventDefault();
    });
</script>

如果你还有别的东西:

<script type="text/javascript">
   $("#whatever a").click(function (e) {
        e.preventDefault();
    });
    $("#whatever").click(function (e) {
        alert('hello');
    });
</script>