在jquery中停止一个javascript函数?

时间:2012-05-18 18:35:36

标签: jquery

如果某些条件在jquery

中不匹配,我想取消/停止javascript函数
<div id="prewrapper">
    <ul class="tabs seller">
        <li class="active">
            <a onclick="adc.FormHandler.goto('user_edit', 0); return false;" href="#"><i data="1" class="icon-tab-num"></i> General Info</a>
        </li>
        <li class="">
            <a onclick="adc.FormHandler.goto('user_edit', 1); return false;" href="#"><i data="2" class="icon-tab-num"></i> Account Details</a>
        </li>
        <li class="">
            <a onclick="adc.FormHandler.goto('user_edit', 2); return false;" href="#"><i data="3" class="icon-tab-num"></i> Roles</a>
        </li>
    </ul>
</div>

我在$('#prewrapper').click(function (e){检查了一些验证,如果无效,我不想去href onclick函数,即adc.FormHandler.goto

1 个答案:

答案 0 :(得分:0)

到目前为止,考虑到许多浏览器中的事件模型,你已经太迟了。通常,事件从“最深”元素冒泡到“最浅”元素。

您可以通过使用jQuery委派事件来解决这个问题:

$('#prewrapper').on('click', 'a', function()
{
    if(someCondition)
       adc.FormHandler.goto('user_edit', $(this).data('edit-num');
});

您的someCondition告诉我们是否要在实际元素上调用曾经是click事件的内容。然后,使用属性标记链接以存储用户参数:

<a data-edit-num="1" href="#">