JavaScript和jQuery函数调用

时间:2016-07-22 11:51:24

标签: javascript jquery

我的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时,我从来没有理解任何事情:))

3 个答案:

答案 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'选择器匹配的元素时,才会触发该处理程序。它被称为事件委托。非常方便为动态添加和删除元素设置处理程序。

更多the jQuery documentation

答案 1 :(得分:1)

onclick不是jQuery函数,只需使用click。而且你的功能也有效,你只需要调用它们,而不仅仅是声明它们。

$(document).ready(function () {
    $('#sum').click(function() {
        alert("click inside");
    });

    function baubau() {
        alert("baubau inside");
    }

    baubau();
});

答案 2 :(得分:1)

据我所知,jQuery没有.onclick方法。也许你的意思是.click()?

$('#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")}