【发布时间】:2020-04-09 19:37:15
【问题描述】:
查看When should I use jQuery's document.ready function? 和Form submit button onclick does not call my JS function 会让人感觉使用$document.ready(function(){}) 应该不会对代码造成任何损害,而是有好处的。
但是当我在按钮的onclick 方法中输入一个函数时,ready() 语句中的函数不会被执行。为什么会这样?
作为示例,此代码不会发出警报
$(document).ready(function(){
function f(){
alert("alert");
}
})
/*function f(){
alert("alert");
} */
<button onclick="f()">
My Button
</button>
我知道如果我使用 jQuery 选择器让它工作,它会 ($("button").click(f))。但是为什么这个方法会失败呢?
【问题讨论】:
-
全局范围内的onclick需要方法
-
不要在
.ready内定义函数 -
因为您是在文档加载时调用的外部函数中定义它。
-
正如其他人所说,问题在于范围。然而,需要注意的是,内联
onX属性不再被认为是好的做法,应该避免使用它们。始终以不显眼的方式附加您的事件处理程序。
标签: javascript jquery html