我在ASP.NET文件后面的c#代码中动态创建一个超链接。我需要在客户端单击时调用JavaScript函数。我怎么做到这一点?在超链接上调用javascript函数点击
回答
整洁依然,而不是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=""
的情况下访问同一页)。
+1这是目前唯一不引人注目的答案。如果可以的话+ 100。 – James 2009-08-12 12:56:54
@克里斯 - 我不确定你是否明白我的观点。我建议您不要使用Do nothing,而应使用Do something,然后使用渐进式增强来覆盖href。这是最干净的解决方案。锚是好的,但他们应该做SOMETHING如果JavaScript被禁用 - 或者由于某种原因(根据IE6)一些JavaScript在处理程序被创建和分配之前破坏了。这样你的所有用户都很开心。 – Lewis 2009-08-12 14:49:36
随着onClick参数中......
<a href='http://www.google.com' onclick='myJavaScriptFunction();'>mylink</a>
的
onclick
事件处理程序捕获从元件上的用户的鼠标 按钮 点击事件到该onclick
属性被应用。这 动作通常会导致作为一个JavaScript 功能的 脚本方法这样的称呼[...]
理想情况下,我会避免在您的代码中生成链接,因为您的代码每次需要对每个链接的“标记”进行更改时都需要重新编译。如果你必须这样做,我不会在你的HTML中嵌入你的JavaScript'调用',这完全是一个糟糕的做法,你的标记应该描述你的文档而不是它的作用,那就是你的javascript的工作。
使用,你必须为每个元素特定的ID的方法(或类,如果它的常用功能),然后使用渐进增强添加事件处理程序(一个或多个),是这样的:
[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禁用的用户而中断,并且会有明确的问题分离。
希望有用。
为什么选择C#?为什么不只是'My Link'? – Mahmoodvcs 2013-04-25 07:43:49
我通常会建议使用element.attachEvent(IE)或element.addEventListener(其他浏览器)直接设置onclick事件,因为后者将替换该元素的任何现有事件处理程序。
attachEvent/addEventListening允许创建多个事件处理程序。
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>
我更喜欢使用的onclick方法,而不是为JavaScript超链接在href。并且总是使用警报来确定你有什么价值。
<a href='#' onclick='jsFunction();alert('it works!');'>Link</a>
它也可以用于输入标签如。
<input type='button' value='Submit' onclick='jsFunction();alert('it works!');'>
所有的简单的答案是...
<a href="javascript:alert('You clicked!')">My link</a>
或回答调用javascript函数的问题:
<script type="text/javascript">
function myFunction(myMessage) {
alert(myMessage);
}
</script>
<a href="javascript:myFunction('You clicked!')">My link</a>
如果您不等待页面加载,您将无法通过ID选择元素。该解决方案应该有困难的人得到工作的代码来执行
<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>
的
- 1. ASP.net mvc链接点击调用函数
- 2. 如何调用cs函数点击超链接
- 3. 点击超级链接调用php
- 4. 点击超链接调用servlet
- 5. javascript函数调用没有点击超链接按钮为什么
- 6. jQuery不能在超链接上点击
- 7. 点击链接触发函数调用,返回点击的链接值
- 8. Javascript多个超链接点击过程
- 9. 无法调用函数上的NG-点击链接功能
- 10. 点击HTML超链接
- 11. 在html链接调用javascript函数
- 12. 使用struts 2超链接标签调用javascript函数?
- 13. JavaScript函数不上点击
- 14. 来自ASP .NET的Javascript函数调用超链接NavigateURL属性
- 15. 从标签文本的超链接调用JavaScript函数
- 16. 点击使用PowerShell的超链接
- 17. 自动点击超链接在jquery/js
- 18. 可点击超链接在DialogFragment
- 19. 的Javascript通过点击上jQuery.Script链接
- 20. 要计数超链接上的点击次数
- 21. 点击html链接时调用php函数
- 22. 调用与变量ID链接jQuery函数点击
- 23. 点击bootstrap分页链接调用jquery函数
- 24. 调用一个Javascript函数,点击一个(隐藏)按钮或链接
- 25. 更改超链接颜色,同时点击其他超链接
- 26. Zombie.js点击Javascript链接
- 27. 的Javascript:当链接“点击”
- 28. javascript循环链接点击
- 29. Scrapy Selenium点击javascript链接
- 30. 点击javascript中的链接
可能重复[如何使用链接调用JavaScript?](http://stackoverflow.com/questions/688196/how-to- use-a-link-to-call-javascript) – Trilarion 2014-06-05 16:31:23