javascript中的事件不能自己执行一个函数吗?它们只是用来调用函数吗?
Can events in javascript not execute a function by themselves? Are they just used to call a function?
这里下面的代码不起作用
<body>
<div id="demo"></div>
<input type="button" value="Click Here" onclick='()=>{document.getElementById("demo").innerText = "Hello World";}'>
<script type="text/javascript"></script>
</body>
但是当我创建函数并通过 onclick 事件调用它时,它起作用了
<body>
<div id="demo"></div>
<input type="button" value="Click Here" onclick='myFunction()'>
<script type="text/javascript">
function myFunction(){
document.getElementById("demo").innerText = "Hello World";
}
</script>
</body>
我哪里做错了?
内部事件属性值表示函数的 主体。
您的代码等同于:
function onclick() {
()=>{document.getElementById("demo").innerText = "Hello World";}
}
您已经定义了一个函数,该函数在被调用时(通过点击事件触发)定义了一个函数但没有调用它或在任何地方分配它。
与任何函数一样,您可以在函数体中放入您喜欢的任何语句。它们不需要是函数调用。
onclick='document.getElementById("demo").innerText = "Hello World";'
请注意,内在事件属性被认为是不好的做法(它们无法分离关注点,它们具有一些令人惊讶的范围含义,可能导致变量名冲突,并且它们会很快导致嵌套引号字符地狱)。改用 the addEventListener
method。
这里下面的代码不起作用
<body>
<div id="demo"></div>
<input type="button" value="Click Here" onclick='()=>{document.getElementById("demo").innerText = "Hello World";}'>
<script type="text/javascript"></script>
</body>
但是当我创建函数并通过 onclick 事件调用它时,它起作用了
<body>
<div id="demo"></div>
<input type="button" value="Click Here" onclick='myFunction()'>
<script type="text/javascript">
function myFunction(){
document.getElementById("demo").innerText = "Hello World";
}
</script>
</body>
我哪里做错了?
内部事件属性值表示函数的 主体。
您的代码等同于:
function onclick() {
()=>{document.getElementById("demo").innerText = "Hello World";}
}
您已经定义了一个函数,该函数在被调用时(通过点击事件触发)定义了一个函数但没有调用它或在任何地方分配它。
与任何函数一样,您可以在函数体中放入您喜欢的任何语句。它们不需要是函数调用。
onclick='document.getElementById("demo").innerText = "Hello World";'
请注意,内在事件属性被认为是不好的做法(它们无法分离关注点,它们具有一些令人惊讶的范围含义,可能导致变量名冲突,并且它们会很快导致嵌套引号字符地狱)。改用 the addEventListener
method。