如何从a href调用javascript?
如何从a href调用javascript 比如:如何从a href调用javascript?,javascript,html,Javascript,Html,如何从a href调用javascript 比如: **编辑***从纷乱的评论中,我正在分享所提供/找到的资源 前SO Q和A: (与IE相关的A的以下内容) 有趣的阅读: 其中,函数必须返回false,以便浏览器不会转到其他页面 但是我建议使用jQuery(与$(…)。单击(函数(){})))使用jQuery会更好 <a href="#" id="youLink">Call JavaScript </a> $("#yourLink").clic
**编辑***从纷乱的评论中,我正在分享所提供/找到的资源 前SO Q和A:
- (与IE相关的A的以下内容)
其中,函数必须返回false,以便浏览器不会转到其他页面
但是我建议使用jQuery(与
$(…)。单击(函数(){}))
)使用jQuery会更好
<a href="#" id="youLink">Call JavaScript </a>
$("#yourLink").click(function(e){
//do what ever you want...
});
$(“#您的链接”)。单击(函数(e){
//你想做什么就做什么。。。
});
JavaScript代码通常从链接的onclick
事件调用。例如,您可以改为执行以下操作:
在HTML文档的标题部分
<script type='text/javascript'>
function myFunction(){
//...script code
}
</script>
<script type='text/javascript'>
document.getElementById("mylink").onclick = function myFunction(){ ...script code};
</script>
函数myFunction(){
//…脚本代码
}
在HTML文档的正文中
<a href="#" id="mylink" onclick="myFunction(); return false">Call JavaScript </a>
<a href="#" id="mylink">Call JavaScript </a>
或者,还可以使用链接的ID、HTMLDOM或类似JQuery的框架将函数附加到链接
例如:
在HTML文档的标题部分
<script type='text/javascript'>
function myFunction(){
//...script code
}
</script>
<script type='text/javascript'>
document.getElementById("mylink").onclick = function myFunction(){ ...script code};
</script>
document.getElementById(“mylink”).onclick=function myFunction(){…脚本代码};
在HTML文档的正文中
<a href="#" id="mylink" onclick="myFunction(); return false">Call JavaScript </a>
<a href="#" id="mylink">Call JavaScript </a>
单击链接时调用javascript代码的正确方法是添加
onclick
处理程序:
<a href="#" onclick="myFunction()">LinkText</a>
尽管一种更“合适”的方法是将其从html中全部取出,并在加载dom时使用另一个javascript添加处理程序。如果您只想处理函数而不想处理href-it-self,请在函数末尾添加return-false语句:
<a href="#" onclick="javascript: function() {... ; return false} return false">click</>
点击
我会完全避免内联javascript,正如我在评论中提到的,我可能也会为此使用
。话虽如此
<a href="http://stackoverflow.com/questions/16337937/how-to-call-javascript-from-a-href" id="mylink">Link.</a>
另一种方法是:
<a href="javascript:void(0);" onclick="alert('testing')">
编辑
这将在单击编辑函数名后创建一个带有Edit的链接,因为将调用Edit。不知道为什么这对我有效,而其他人没有,只是为了防止其他人仍在查看 在头部标签之间:
<script>
function myFunction() {
script code
}
</script>
函数myFunction(){
脚本代码
}
然后对于标记:
<a href='' onclick='myFunction()' > Call Function </a>
函数my_func(s){
console.dir(Object.getOwnPropertyDescriptors(文档));
窗口。打开(s)
}
函数my_func2(事件){
console.dir(事件);
window.open(event.originalTarget[“href”])
}
设a=document.getElementById(“newel”);
a、 addEventListener(“单击”,我的功能2)
除非有令人信服的理由,否则最好使用它来做这类事情。是否需要onclick中的javascript:
前缀…?@Dawson-你不需要onclick属性中的javascript:
。当然……如果你绝对肯定javascript是可用的。我不喜欢依赖客户端。我不喜欢依赖人们知道如何在UI中做任何事情(计划最低公分母——即使这是访问者的智能)。@Dawson如果没有Js,onclick属性完全不起作用。真的没有必要使用javascript:
前缀。@PhonicUK——也许这是我的一些老派遗留下来的东西。那是什么时候消失的?或者这真的是一个要求吗?这是一个跨浏览器兼容性的问题吗?我连想都没想就把“javascript:”扔到上面……我的观点是——我没有养成这个习惯,因为我认为这是一个“好主意”,仅供参考——我猜你的得票率正在下降,因为这个问题可能在1997年发布。当时有一个解决办法;但是,JQuery不在,我不在。我是说,这个解决方案不需要JS库。你的评论表明,如果JQ不存在,网络将会崩溃。你假设的太多了,我不建议没有其他解决方案。我只是说会很好,我不是。这个问题甚至被标记为“javascript”“html”。我没有做任何假设。我使用问题/标签的要求来制定我的答案。好吧。JQuery是Python库之一,而不是Javascript。一页。附加JS库?在JQuery之前,我们都有工作。当JQuery被遗忘时,我们都会有工作。@Dawson在JQuery之前,我没有编写任何代码;-)。。。但在我看来,JQ似乎不会很快被遗忘。。。也许十年后?也许当有更好的选择时……我理解。但这就是重点。这个问题不需要图书馆。10年前也可以这样问和回答。@Dawson然后你也可以问:如果规范不再支持JS,而是支持其他东西,会怎么样?一个库可以通过解析、转换并评估来替换遗留的JS代码一旦你的服务器上有了一个可用的版本,库代码就会起作用。我不想在这里做魔鬼代言人。问题被标记为[javascript]和[html]。JQuery不是JavaScript的同义词。这是我反对使用图书馆的最大原因。我意识到在当今的web开发世界中,可能正在使用JQuery或类似的工具。有三条评论:1)javascript:
在这里是无用的;2)您定义了一个函数,但从未调用过它。3) 您定义函数的方式可能会导致语法错误。每个链接都说明了一种可能性。这是一种糟糕的做法。应该是