Iam尝试使用此命令将javascript函数分配给html链接标记。将OnClick分配给链接标记的问题<a>
<a href="javascript:;" onClick="doSomething()">link</a>
但是,当我第二次点击链接时,会执行doSomething函数。第一次点击没有任何反应。
任何人都有这个想法吗?
Iam尝试使用此命令将javascript函数分配给html链接标记。将OnClick分配给链接标记的问题<a>
<a href="javascript:;" onClick="doSomething()">link</a>
但是,当我第二次点击链接时,会执行doSomething函数。第一次点击没有任何反应。
任何人都有这个想法吗?
独立你的JavaScript从HTML使用.addEventListener
,
<a href="" id="myLink">link</a>
document.getElementById('myLink').addEventListener('click', doSomething, true);
和doSomething
记得用event.preventDefault()
从执行动作停止点击。
这个问题与mivaas19的问题有关? –
除非错误出现在_function_'doSomething'中,因为我从HTMLElement的所有属性中删除了JavaScript,意外的行为应该会消失。 –
在我的电脑中,第一次点击就可以工作。
<html>
<head>
<script type="text/javascript">
function doSomething() {
alert("Hi :)");
}
</script>
</head>
<body>
<a href="javascript:;" onclick="doSomething()">Click</a>
</body>
</html>
使用Firefox。
无论如何,为什么使用href =“javascript :;”然后?
修改您的doSomething()
函数,使其不会导致问题。 (如果该功能显示某些文本,则不会发生该问题。)要获得更具体的帮助,您需要披露更多信息。
其实doSomething()函数在这里创建一个MooTools对话框。这里是代码
function doSomething(tit,text,id) {
new mBox.Modal({
content: unescape(text),
setStyles: {content: {padding: '25px 15px', lineHeight: 25, height:'400px'}},
title: unescape(tit),
attach: id
});
}
可能是这是什么原因造成的问题。但不是很确定。
你不应该在'href'中做内联脚本,然后在'onclick'属性中调用一个函数。做一个或另一个,或者最好都不要,并附加事件处理程序。 http://stackoverflow.com/questions/5519059/inline-javascript-in-href – matthewpavkov
你的代码工作正常。 http://jsfiddle.net/4umTf/问题可能会在doSomething实现中或在其他页面的脚本中进行本地化。 –