javascript - 在下面的代码中,为什么事件处理程序没有启动?

标签 javascript jquery

为什么我没有得到控制台输出,是否存在一些概念错误 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(只是为了消除细节错误)

最佳答案

因为 check() 调用 check,在元素存在之前立即调用,因此找不到它们,并且处理程序是连接上了。

你应该传递一个函数,而不是它的返回值,到ready:

$(document).on("ready", check);
// No () --------------------^

关于javascript - 在下面的代码中,为什么事件处理程序没有启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42095334/

相关文章:

javascript - eBay 和 Bootstrap : collapse menu in javascript

javascript - 无法动态获取谷歌 Material 条形图中的值

javascript - ajax 调用后更新图像

jquery - 使按钮显示在具有更高 z-index 的 div 上方

javascript - 为什么我的 jquery slider 跳动和滞后?

javascript - 从单元格数据中获取表格

javascript - 需要深入了解如何构建 javascript fetch API

javascript - Twitter Bootstrap TypeAhead 与 PlusAsTab

php - 有没有好的支持ajax搜索、过滤的treeview控件?

javascript - 如何从该 json 对象中检索值?