使用jquery单击div时重定向到Html.ActionLink

时间:2014-07-11 11:48:39

标签: javascript jquery css razor

我想做可点击的div,当点击重定向到Html.ActionLink锁定在所述div内。

这是可点击的div jquery

<script language="javascript">
    $(".linkdiv").click(function () {
        if ($(this).find("a").length) {
            window.location.href = $(this).find(".top-menu-link").attr("href");
        }
    });
</script>

这就是我写div的方式:

<div id="top-menu-element" class="linkdiv">
     @Html.ActionLink("Home", "Index", "Home", new { @class = "top-menu-link" })
</div>

我认为.attr(&#34; href&#34;)应该是不同的东西,但我没有设法找出它应该是什么

2 个答案:

答案 0 :(得分:0)

如果脚本位于Razor视图中,请使用:

window.location.href = '@Url.Action("Index", "Home")';

哪个Url.Action做同样的事情。

答案 1 :(得分:0)

<script language="javascript">
    $(".linkdiv").click(function () {
        var anchor = $(this).find("a");
        if (anchor.length) {
            anchor.trigger("click"); 
        }
    });
</script>

只需调用锚点的click事件,然后使用锚标记的正常流程。 如果这不起作用,请尝试将此绑定点击事件放入锚点:

$(".linkdiv").find("a").click( function (e) {
  window.location.href = this.href;
});

或更简单的替换:

anchor.trigger("click"); 

使用:

anchor.get(0).click();