在超链接上调用javascript函数点击

Ern*_*ngs 82 javascript hyperlink

我在ASP.NET的c#代码隐藏文件中动态创建一个超链接.我需要在客户端点击时调用JavaScript函数.我该怎么做到这一点?

kar*_*m79 128

Neater仍然,而不是typical href="#"或,href="javascript:void"或者href="whatever",我认为这更有意义:

var el = document.getElementById('foo');
el.onclick = showFoo;


function showFoo() {
  alert('I am foo!');
  return false;
}

<a href="no-javascript.html" title="Get some foo!" id="foo">Show me some foo</a>
Run Code Online (Sandbox Code Playgroud)

如果Javascript失败,则会有一些反馈.此外,消除了不稳定的行为(在例如href="#"访问同一页面的情况下的页面跳跃href="").

  • +1这是目前唯一不显眼的答案.如果可以的话,+ 100. (13认同)
  • 这不起作用,只是将你引导到href网址. (3认同)
  • 不适合我,只需在页面加载时自动执行onclick功能.这似乎也是一个可访问性的噩梦. (2认同)

Jay*_*son 51

最简单的答案是......

<a href="javascript:alert('You clicked!')">My link</a>
Run Code Online (Sandbox Code Playgroud)

或者回答调用javascript函数的问题:

<script type="text/javascript">
function myFunction(myMessage) {
    alert(myMessage);
}
</script>

<a href="javascript:myFunction('You clicked!')">My link</a>
Run Code Online (Sandbox Code Playgroud)

  • StackOverflow“运行代码片段”中的链接在 Firefox 中不起作用(未创建警报),但当我将这种类型的链接放在普通网页上时,它在 FF 中起作用。 (3认同)
  • 安东尼在Firefox中工作正常。 (2认同)

ami*_*efr 26

使用onclick参数...

<a href='http://www.google.com' onclick='myJavaScriptFunction();'>mylink</a>
Run Code Online (Sandbox Code Playgroud)

  • 令人困惑的声明。是去google.com还是调用javascript函数?哪个有优先权? (2认同)

elc*_*uco 12

JQuery回答.由于JavaScript是为了开发JQuery而发明的,所以我在JQuery中给你一个例子:

<div class="menu">
    <a href="http://example.org">Example</a>
    <a href="http://foobar.com">Foobar.com</a>
</div>

<script>
jQuery( 'div.menu a' )
    .click(function() {
        do_the_click( this.href );
        return false;
    });

// play the funky music white boy
function do_the_click( url )
{
    alert( url );
}
</script>
Run Code Online (Sandbox Code Playgroud)

  • JavaScript是为了开发jQuery而发明的?那是一个新的! (49认同)
  • 这就像阅读乐高是为了建立乐高蝙蝠侠而发明的. (34认同)
  • @ShawnSolomon我很高兴我们同意:) (4认同)

Mar*_*rky 6

我更喜欢使用 onclick 方法而不是 javascript 超链接的 href 。并且始终使用警报来确定您拥有什么价值。

<a href='#' onclick='jsFunction();alert('it works!');'>Link</a>

它也可以用于输入标签,例如。

<input type='button' value='Submit' onclick='jsFunction();alert('it works!');'>