为什么jQuery .click()在这个<a>标签上使用时不会导致回发?

El *_*oco 2 html javascript jquery dom-events

认为这对某人来说很快.我有这个标记(由ASP.Net生成)......

<A id=anchorO href="javascript:__doPostBack('anchorO','')">O</A>
Run Code Online (Sandbox Code Playgroud)

此锚点位于更新面板中,如果我手动单击它,则会发生部分回发.然而....

$('[ID$="anchor'+initial+'"]').click()   //JavaScript
Run Code Online (Sandbox Code Playgroud)

..选择正确的锚点,但不会发生回发.为什么是这样?

Gar*_*een 6

与点击次数HREF被视为在Javascript中两个不同的东西,所以你不能这样做.click(),如果这是和呼叫中的href,无论javascript:与否

两种选择:

  1. 做就是了:

    $('#anchor' + initial).click(function() { __doPostBack('anchorO',''); });
    
    Run Code Online (Sandbox Code Playgroud)
  2. 是邪恶的并且使用eval:

    $('#anchor' + initial).click(function() { eval($(this).attr('href')); });
    
    Run Code Online (Sandbox Code Playgroud)