如何查找某个地方Jquery是否在html中禁用锚标记

时间:2015-01-29 12:05:03

标签: jquery html css3 asp.net-mvc-4

我确实在li元素中有一些包含锚标记的代码,当我点击时我仍然在同一页面上,当我右键单击并在新标签中打开链接时,它工作正常。如果我在网页的任何一个角落替换锚标签它可以工作,但不能在div内工作是否有任何解决方案相同尝试设置z-index但没有用。这是代码..

<div class="side-banner" style="width:288px; float:left;height:auto; z-index:1001;">
    <div id="menu" style="float:left; width:auto;height:auto;">
        <nav id="nav" style="width:auto; height:auto;z-index:1000">
            <h2><i class="fa fa-reorder"></i>All Categories</h2>
            <ul>
                <li>
                      //This Link doesn't works
                    <a href="@Url.Action("Create")"><i class="fa fa-laptop"></i>Organizer</a>
                    <h2><i class="fa fa-laptop"></i>Organizer</h2>                        
                </li>
                <li>
                     //This doesn't works
                    <a href="/Home/Index"><i class="fa fa-book"></i>Project Info</a>
                    <h2><i class="fa fa-book"></i>Project Info</h2>                        
                </li>
                <li>
                    <a href="#"><i class="fa fa-shopping-cart"></i>Human Resource</a>
                    <h2><i class="fa fa-shopping-cart"></i>Human Resource</h2>

                </li>
                <li>
                    <a href="#">Collections</a>
                </li>
                <li>
                    <a href="#">Credits</a>
    //Now this link works fine
    @Html.ActionLink("Create","Create")
                </li>
            </ul>
        </nav>
    </div>
        </div>        
    <div>
        @RenderBody()
    </div>

感谢您阅读

1 个答案:

答案 0 :(得分:0)

您可以使用isDefaultPrevented()检查jquery是否阻止了链接默认操作。

所以,如果某个地方你有类似的东西:

$('a.someLink').click(function (evt) {
    evt.preventDefault(); // stops the link working
});

这会阻止链接正常工作(链接到网址)

isDefaultPrevented() returns true/false if an event has been stopped. i.e.

$('a').click(function (e) {
    e.preventDefault();
    e.isDefaultPrevented(); // returns true
});

您需要查看可能禁用链接的内容/方式/时间,然后绑定到某些a标记并检查这些事件是否已停止 (如果您发布了javascript,我们可能会进一步建议)

这是一个演示如何检查其他地方链接上是否阻止了默认值

的演示
<a id='myLink' href='http://facebook.com'>link</a>


$(function (){
    // lets say you've bound events some where
    $('#myLink').click(function (e){
        e.preventDefault();
    });


    // somewhere else in the code you can bind to all `a` tags and test
    // if the default has been prevented

    $('a').click(function (e) {
        alert(e.isDefaultPrevented());
    });
});