0

在我的代码中,我使用了一个名为updateLogButton显示/隐藏 div 的链接按钮。因为每次点击的焦点移动到页面的开头时,我都会使用链接按钮。如何停止这种默认行为?

jQuery片段:

$('#updateLogText').hide();

$('#updateLogButton').click(function() {

    if ($('#updateLogText').is(':visible')){

        //hide div if content is visible
        $('#updateLogText').fadeOut();

    }else{

        $('#updateLogText').fadeIn();       
    }

});

HTML 代码:

<tr>
    <td><a href="#"  id="updateLogButton">Update Log</a></td>
</tr>
<tr>
    <td colspan="3" >
        <div id="updateLogText" style="width:100%;">
            <?php echo $data['updates']; ?>
        </div>

    </td>
</tr>

编辑: 我的意思的例子:http: //jsfiddle.net/cF4Bb/7/

4

5 回答 5

5

要防止单击链接时的默认操作,您可以从单击处理程序返回 false 或调用event.preventDefault其中 event 是传递给单击处理程序的事件对象。

$('#updateLogText').hide();

$('#updateLogButton').click(function(event) {

    if ($('#updateLogText').is(':visible')){

        //hide div if content is visible
        $('#updateLogText').fadeOut();

    }else{

        $('#updateLogText').fadeIn();       
    }
    event.preventDefault();
    //or return false;
});
于 2012-10-09T08:10:26.217 回答
2

添加返回 false

$('#updateLogButton').click(function() {

    if ($('#updateLogText').is(':visible')){

        //hide div if content is visible
        $('#updateLogText').fadeOut();

    }else{

        $('#updateLogText').fadeIn();       
    }

     return false;
});
于 2012-10-09T08:09:29.473 回答
1

您也可以尝试将您的更改href为:

<a href="javascript:void(0);" id="updateLogButton">Update Log</a>
于 2012-10-09T08:20:37.590 回答
0

从一键事件中返回 false

$('#updateLogText').hide();

$('#updateLogButton').click(function() {

    if ($('#updateLogText').is(':visible')){

       //hide div if content is visible
        $('#updateLogText').fadeOut();

    }else{

        $('#updateLogText').fadeIn();       
    }
    return false;
});
于 2012-10-09T08:10:12.560 回答
0

删除 href="#" 从

<td><a **href="#"** id="updateLogButton">Update Log</a></td>

<td><a id="updateLogButton">Update Log</a></td>

请注意,这可能会删除类似文本的“超链接”;您可以使用 css 重新申请。

[编辑:添加] 或者,您可以使用 LinkBut​​ton 代替,如下所示:

<asp:LinkButton id="btnLink" Text="Update Log" **onclick**="javascript:ShowHide(); return false;"/>

您将不得不编写自己的 javascript 函数。**注意:我不记得是 onclick 还是 onclientclick,但你明白了。

于 2012-10-09T08:17:16.953 回答