调用超链接的JavaScript函数点击

我dynamic创build一个超链接在ASP.NET文件后面的C#代码。 我需要在客户端点击调用JavaScript函数。 我怎么做到这一点?

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> 

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

最简单的答案是…

 <a href="javascript:alert('You clicked!')">My link</a> 

使用onclick参数…

 <a href='http://www.google.com' onclick='myJavaScriptFunction();'>mylink</a> 

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> 

理想情况下,我会避免在您的代码中生成链接,因为您的代码每次需要对每个链接的“标记”进行更改时,都需要重新编译。 如果你必须这样做,我不会在你的HTML中embedded你的javascript调用,这是一个不好的做法,你的标记应该描述你的文档,而不是它做什么,这是你的JavaScript的工作。

使用一种方法,对每个元素(或类,如果它的通用function)有一个特定的id,然后使用Progressive Enhancement来添加事件处理程序,如下所示:

 [c# example only probably not the way you're writing out your js] Response.Write("<a href=\"/link/for/javascriptDisabled/Browsers.aspx\" id=\"uxAncMyLink\">My Link</a>"); [Javascript] document.getElementById('uxAncMyLink').onclick = function(e){ // do some stuff here return false; } 

这样,你的代码不会因为禁用了JS的用户而中断,并且会有明确的问题分离。

希望是有用的。

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

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

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

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

我通常会build议使用element.attachEvent(IE)或element.addEventListener(其他浏览器)直接设置onclick事件,因为后者将replace该元素的任何现有事件处理程序。

attachEvent / addEventListening允许创build多个事件处理程序。

使用onclick HTML属性 。

onclick事件处理程序从应用了onclick属性的元素的用户鼠标button中捕获单击事件。 这个动作通常会导致一个脚本方法的调用,比如JavaScript函数[…]

如果您不等待页面加载,您将无法通过IDselect元素。 这个解决scheme应该适用于那些无法获得代码执行的人

 <script type="text/javascript"> window.onload = function() { document.getElementById("delete").onclick = function() {myFunction()}; function myFunction() { //your code goes here alert('Alert message here'); } }; </script> <a href='#' id='delete'>Delete Document</a>