为什么我没有得到控制台输出,是否存在一些概念错误 HTML页面是
!DOCTYPE html>
<html>
<head>
<title>prac 1</title>
<script type="text/javascript" src="jquery-3.1.1.min (1).js"></script>
<script type="text/javascript" src="script2.js"></script>
</head>
<body>
<input type="text" id="just">
<input type="submit" id="submit">
<p></p><p></p>
<div id="div1"></div>
</body>
</html>
script2.js也是
$(document).on('ready',check());
function check(){
$('#submit').on('click',function(){
console.log("hi");
})
}
感谢sdcsc = dsfsdfvdvd(只是为了消除细节错误)
答案 0 :(得分:5)
由于check()
在元素存在之前立即调用 check
,因此找不到它们,并且处理程序未被连接。
你应该将函数而不是它的返回值传递给ready
:
$(document).on("ready", check);
// No () --------------------^
答案 1 :(得分:0)
最佳做法是在<body>
标记的底部加载JS文件。
因此,您的HTML文件应如下所示:
<!DOCTYPE html>
<html>
<head>
<title>prac 1</title>
</head>
<body>
<input type="text" id="just">
<input type="submit" id="submit">
<p></p><p></p>
<div id="div1"></div>
<script type="text/javascript" src="jquery-3.1.1.min (1).js"></script>
<script type="text/javascript" src="script2.js"></script>
</body>
</html>