一个奇怪问题,超链接中无法执行onclick中的js方法
<!DOCTYPEhtml><htmlxmlns="http://www.w3.org/1999/xhtml"><head><metahttp-equiv="Conten...
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script type="text/javascript" >
function search() {
console.log('ff');
return false;
}
</script>
</head>
<body>
<a onclick="javascript:search();" >aaaa</a>
<button onclick="javascript:search();">ann</button>
</body>
</html>
上面的代码中:
<a onclick="javascript:search();" >aaaa</a> 不可以
<a onclick="search();" >aaaa</a> 不可以
<a href="javascript:search();" >aaaa</a> 可以
<a href="search();" >aaaa</a> 可以
求原因? 展开
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script type="text/javascript" >
function search() {
console.log('ff');
return false;
}
</script>
</head>
<body>
<a onclick="javascript:search();" >aaaa</a>
<button onclick="javascript:search();">ann</button>
</body>
</html>
上面的代码中:
<a onclick="javascript:search();" >aaaa</a> 不可以
<a onclick="search();" >aaaa</a> 不可以
<a href="javascript:search();" >aaaa</a> 可以
<a href="search();" >aaaa</a> 可以
求原因? 展开
2个回答
展开全部
对于 (如onclick) 事件而言,javascript:function() 和 function() 都是可以的;
<a onclick="javascript:searchs()">aaaa</a>
<a onclick="searchs()">aaaa</a>
<script type="text/javascript">
function searchs()
{
alert(1234); return false;
}
</script>
<a href="javascript:searchs()">aaaa</a>
而对于超链接的 href 而言,只能通过 javascript:function() ,而不能直接 function()
<script type="text/javascript">
function searchs()
{
alert(1234); return false;
}
</script>
但是超链接的 href 中不能直接写 function() ,因为这样写会直接当成 url 地址进行跳转,而不是去执行某个方法,所以要加上 javascript: 指定是执行 脚本方法而不是直接 url 跳转;
至于你的 search,是系统关键字,已经被占用了所以不能再用;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询