我有这个代码:
<html>
<head>
<script>
function myFunction() {
document.getElementById("demo").innerHTML="Hello World";
}
</script>
</head>
<body>
<button onclick="javascript:myFunction()">Click me</button>
<p id="demo"></p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
如果我改变 <button onclick="javascript:myFunction()">Click me</button>的
<button onclick="myFunction()">Click me</button>
Run Code Online (Sandbox Code Playgroud)
我的代码运行正常.
这是onclick="javascript:myFunction()"和onclick="myFunction()"?之间的区别吗?
这是javascript:伪协议,已经丢失了.当您在URL中使用Javascript时使用它,例如:
<a href="javascript:alert('hi')">Hi</a>
Run Code Online (Sandbox Code Playgroud)
事件属性不支持:javascript协议,因此它不起作用.但是,它碰巧变成了与Javascript中的标签相同的语法,因此尽管协议位于错误的位置,代码仍然可以正常工作.
所以,总而言之,它:javascript不应该存在,而且只是幸运的是它仍然会在它发生的时候发挥作用.