【问题标题】:How do I prevent jquery address from triggering a change?如何防止 jquery 地址触发更改?
【发布时间】:2011-08-15 18:35:20
【问题描述】:

我正在使用jquery address 来跟踪浏览器导航按钮的变化,并且遇到了麻烦。该插件适用于简单的 html 链接,但我有一个下拉菜单,当单击父节点时会触发地址更改。下拉菜单如下所示:

    <li id="messages"><a href="#" class="drop" >Messages</a>
       <div class="drop2columns dropcontent">
            <div class="col_2">
                <ul>
                    <li><a id="msgs_received" href="#msgs_received">Inbox</a></li>
                    <li><a id="msgs_sent" href="msgs_sent">Sent</a></li>
                </ul>   
            </div>
        </div>
    </li>

当我点击“消息”部分触发下拉菜单时,位置设置为“/”(我假设是因为我的 href="#")

有没有办法忽略这个 onclick 事件?

我一直在考虑创建一个获取/设置相同 URL 的 onClick 事件,因此它不会触发 jqueries 地址更改方法。不过,这似乎更像是一种 hack,而不是一种解决方案。有什么想法吗?

【问题讨论】:

    标签: php jquery jquery-address


    【解决方案1】:

    在你的 JS 中,试试这个:

    $("#messages").bind("click", function(e){
        e.preventDefault();
    });
    

    【讨论】:

    • 看起来它正在阻止任何事情发生:$('#messages').click(function(e) { $(this).children(menuItemChildren).slideDown(0); $(this) .hover(function() { }, function(){ $(this).children(menuItemChildren).slideUp(0); }); e.preventDefault(); });
    猜你喜欢
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2021-11-19
    • 2010-11-20
    • 2021-01-06
    • 1970-01-01
    • 2022-10-19
    • 1970-01-01
    相关资源
    最近更新 更多