2014-05-20 25 views
0

我有一个空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()方法,即。打开该链接,不起作用,$(that).off('click')。click(); (并且在控制台中没有错误)。

我使用jquery-1.7.1.min.js。

我也试过.trigger的不同组合( '点击')代替。点击()和$( '#myLink的'),而不是$(这)

感谢。

回答

0

以下是我最后做的,而不是$(这).off( '点击')。点击();:

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

应该能够缩短to' $( “#myLink的”) .off( “点击”)[0]。点击()' –

相关问题