0

我的页面中有锚标记。并且为某些功能编写了 .click() 事件,我想禁用页面加载上的操作并启用某些按钮单击时的操作。

为了防止动作,我可以使用 unbind("click")。但无法绑定,因为 .Bind("click") 需要函数名。

请帮助我

4

2 回答 2

2

无需担心分离和重新附加事件,您可以将 存储hrefdata-属性中,然后设置href#. 单击启用按钮后,我们可以恢复href.

jsFiddle

HTML

<a href="http://www.google.com">Google</a>
<button id="enable">Enable</button>

JS

$(document).ready(function () {
    $('a').each(function () {
        disableAnchor($(this));
    });
    $('#enable').click(function () {
        $('a').each(function () {
            enableAnchor($(this));
        });
    });
});
function disableAnchor(a) {
    a.attr('data-href', a.attr('href'));
    a.attr('href', '#');
}
function enableAnchor(a) {
    a.attr('href', a.attr('data-href'));
}
于 2013-04-04T11:33:43.280 回答
0

在页面加载时使用

$(function(){
    $("a").removeAttr('onclick');
});
于 2013-04-04T11:08:53.400 回答