0

如果 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

4

1 回答 1

0

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

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

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

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

<a data-edit-num="1" href="#">
于 2012-05-18T18:39:05.530 回答