0

我添加了 javascript 来检测何时单击链接,这可以正常工作,但是现在链接无法正常工作(即它们不会将用户带到链接页面)。

HTML:

<div class="designflow" style="padding-left:50px;padding-right:0px;padding-top:0px;padding-bottom:15px;margin-top:0px;float:left; font-size:18px; color: gray; height:150px; width:150px;margin-left:auto;margin-right:auto;display:inline-block;"> 
<a href = "/manufacturing/" class = "designflow" id = "manufacturing">
<img src="{{STATIC_URL}}pinax/images/manufacturing.png" width = "150px" style=margin-bottom:0px;" alt=""><br>
<p style="position:absolute;bottom:25px;padding-left: 0px; padding-right:0px; width:150px;text-align:center;">Manufacturing</p></a>
</div>

查询:

jQuery( 'div.designflow a' )
    .click(function() {
        do_the_click( this.id );
        return false;
    });
function do_the_click( designstage )
{
    alert(designstage);
}
4

4 回答 4

8

由于返回 false,点击处理程序会禁用它们

当您从事件处理程序返回 false 时,您告诉运行时停止处理它。这还包括停止默认操作。在这种情况下,停止链接成为链接。

如果您删除“return false”行。然后链接将像链接通常一样再次工作

jQuery( 'div.designflow a' )
    .click(function() {
        do_the_click( this.id );
    });

但是,从您可能确实想要返回 false 的方法的名称中获取,然后在事件处理程序中处理重定位。

在 JavaScript 中,您可以导航到一个新的 url,如下所示:

window.location = newUrl;
于 2013-02-13T07:23:30.347 回答
2

这是因为你return false在函数中编写,如果你想编写它,你必须将页面重定向到来自 javascript 的链接地址

例子

jQuery( 'div.designflow a' )
    .click(function() {
        do_the_click( this.id );
        window.location="/manufacturing";
return;
    });
function do_the_click( designstage )
{
    alert(designstage};
}
</script>
于 2013-02-13T07:24:20.107 回答
1

通过在你的事件函数中返回 false,你明确地抑制了事件的正常行为。您应该返回 true,以便在执行代码后浏览器正常处理事件。

于 2013-02-13T07:25:07.210 回答
0

我改变了function返回true

jQuery( 'div.designflow a' )
    .click(function() {
       do_the_click( this.id );
       return true;
    });
于 2013-02-13T07:24:07.957 回答