如何重新启用事件处理程序?

时间:2014-05-20 02:38:03

标签: jquery

我有一个空的href链接,因为这个href是动态的。它需要一些Ajax调用,所以我只想在用户需要时填充href属性,这意味着单击链接时。设置href后,页面不再发生变化。

$('#myLink').one('click', function(e) {
    if ($('#myLink').attr('href') == '') {
        var that = $(this);
        e.preventDefault();
        someFunctionWithAjaxCallAndCallback(function(pCallbackReturn) {
            // ... callbak function with some logic
            $(that).off('click').click();
        });
    }
});

问题是href是否正确填充,我可以手动点击链接并且它可以工作,但是jQuery代码应该"取消" preventDefault(),即。打开那个链接,不起作用,$(那).off('点击')没有任何反应。click(); (并且控制台中没有错误。)

我使用jquery-1.7.1.min.js。

我还尝试过.trigger('点击')而不是.click()和$(' #myLink')而不是$(那个)

感谢。

1 个答案:

答案 0 :(得分:0)

这是我最终做的而不是$(那).off('click')。click();:

$('#myLink').off('click');
$('#myLink')[0].click();