我的html加载了jquery:
app.use(express.static('uploads'));
然后,在结束正文之前,我加载了我的自定义文件:
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
</head>
我的.js文件如下所示:
<script type="text/javascript" src="checkSum.js"></script>
</body>
在每一行之后,如果函数被调用,你可以看到注释。任何人都可以帮助我理解差异,并建议我一个学习javascript和jQuery的好网站?我是一名Java开发人员,但在谈到javascript和jQuery时,我从来没有理解任何事情:))
答案 0 :(得分:2)
在您放置脚本标记的位置,无需使用$(document).ready
。您需要使用它的唯一时间是您无法控制脚本标记的位置。如果你这样做了,并且你把它放在身体末端,就没有必要了。
$('#sum').onclick(function(event){alert("onclick inside");}); //not norking
jQuery没有onclick
方法。原始的DOM元素可以,但不是jQuery实例(它们是围绕DOM元素集的包装器[通常])。
$( '#sum' ).on( 'click', function (event) { alert("on inside"); }); //working
这就是在用ID查找元素时使用jQuery在元素上设置直接点击处理程序的方法。
function baubau(){alert("baubau inside")} //not working
声明了一个函数,但没有调用它。除非有人称呼它,否则你将看不到alert
。
$('#sum').onclick(function(event){alert("onclick outside");}); //not norking
见上文。
$( '#sum' ).on( 'click', function (event) { alert("on outside"); }); //works
因为如果你把脚本放在最后,你不需要ready
。
function baubau(){alert("baubau outside")} //not working
见上文。
$(document).on('click', '#sum', function() { alert("hello"); }); //works
勾选document
上的点击处理程序,但只有当事件通过与您提供的'#sum'
选择器匹配的元素时,才会触发该处理程序。它被称为事件委托。非常方便为动态添加和删除元素设置处理程序。
答案 1 :(得分:1)
onclick
不是jQuery函数,只需使用click
。而且你的功能也有效,你只需要调用它们,而不仅仅是声明它们。
$(document).ready(function () {
$('#sum').click(function() {
alert("click inside");
});
function baubau() {
alert("baubau inside");
}
baubau();
});
答案 2 :(得分:1)
$('#sum').onclick(function(event){alert("onclick inside");});
jQuery 有一个.on方法,而click
在一个有效的事件中挂钩
$( '#sum' ).on( 'click', function (event) { alert("on inside"); });
函数在调用之前不会运行。因此,如果您在此document.ready函数中添加了baubau()
,它将被调用,并且会发生警报。
function baubau(){alert("baubau inside")}