通过这两种不同的方法调用jQuery功能的优缺点是什么

What are the pros and cons of calling jQuery functionality via these 2 different methods?

本文关键字:jQuery 调用 功能 优缺点 是什么 方法 两种      更新时间:2023-09-26

我试图了解这两种调用JavaScript/jQuery函数的方法之间的区别(如果有的话(。

方法1,在document.ready():中

$('body').on('click', 'a.popup', popup);

然后

function popup() {
    $(this) // do something    
}

方法2,在document.ready():中

popup();

然后

function popup() {
    $("a.popup").click(function (e) {
        // do something here
    });
}

感谢所有的建议。

在方法2中,popup函数可能只被调用一次,否则您会多次附加相同的函数onclick,这可能不是您想要的。因此,除了直接在document.ready()中编写之外,在其他地方编写popup函数体并没有太大的好处。

方法1的优点是,如果您想将相同的函数附加到各种事件和/或各种元素,例如onclickonmousemove等。这样,您就不必编写函数体两次。

简而言之,我在方法2中看不到好处,而在方法1中看到了一些好处。

我不太确定,但我想你在问调用jQuery.on((方法和jQuery.click((方法有什么区别,对吧?

如:

$someEl.on('click', someFunc);
// or
$someEl.click(someFunc);

像这样,两者几乎是等价的。然而,使用.on((方法,您有机会将名称空间(在第一个链接中解释(引入元素的事件。像这样:

$someEl.on('click.do1', someFunc1);
$someEl.on('click.do2', someFunc2);

因此,如果在以后的过程中,您只想删除或触发一个回调函数(someFunc1、someFunc2(,您可以通过调用:

$someEl.off('click.do1');
$someEl.trigger('click.do2');

希望这能帮助