调用超链接的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>