在jquery中,用 $. 和 $().有啥区别,它们分别的含义是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在jquery中,用 $. 和 $().有啥区别,它们分别的含义是啥?相关的知识,希望对你有一定的参考价值。

$就是jquery对象,$()就是jQuery(),在里面可以传参数,作用就是获取元素
如下例子
$(".div1") 表示获取类名为div1的元素,例如获取<div class="div1"></div>
$(".div1").onclick表示类名为div1的div点击事件

jquery中$.,例如$.post(),$.get(),$.ajax()等这些都是jquery这个对象的方法
参考技术A $ 即 jQuery对象,是一个Function对象,$()是调用这个function,得到的是
jQuery.prototype.init的一个实例,jQuery对象包含很多静态方法,可以通过jQuery.即($.)调用,通过jQuery.fn(即jQuery.prototype)可以对jQuery.prototype.init的实例进行扩展,因为jQuery.prototype.init的原型引用的jQuery.prototype
参考技术B $.是调用JQuery中对象,$("#id").是id元素的属性

在 jQuery 1.7.2 中 on("click") 和 on("click.randomText") 有啥区别?

【中文标题】在 jQuery 1.7.2 中 on("click") 和 on("click.randomText") 有啥区别?【英文标题】:In jQuery 1.7.2 what is the difference between on("click") and on("click.randomText")?在 jQuery 1.7.2 中 on("click") 和 on("click.randomText") 有什么区别? 【发布时间】:2012-06-13 15:04:32 【问题描述】:

我继承了一个使用 jQuery 1.7.2 的应用程序。

在整个应用程序中,我们有如下代码:

$('#quotation').off("click").on("click", function()
     // do something here...

现在,我确实明白上面没有问题。然而,偶尔在我们的代码中我会遇到这样的事情:

$('#continue').off("click.products").on("click.products", function()
     // do something here...

在整个应用程序中,我找到了click.productsclick.orders。似乎. 后面的内容可以是完全随机的文本。

clickclick.products 有什么区别?

【问题讨论】:

【参考方案1】:

此代码使用他们自己或插件定义的自定义命名空间事件。

事件名称可由事件命名空间限定,以简化删除或触发事件。例如,“click.myPlugin.simple”为这个特定的点击事件定义了 myPlugin 和 simple 命名空间。通过该字符串附加的单击事件处理程序可以使用 .off("click.myPlugin") 或 .off("click.simple") 删除,而不会干扰附加到元素的其他单击处理程序。命名空间类似于 CSS 类,因为它们不是分层的;只有一个名字需要匹配。以下划线开头的命名空间保留给 jQuery 使用。

on docs

Live DEMO:

$('#a').on('click.bar', function() 
    console.log('bar');
);

$('#a').on('click.foo', function() 
    console.log('foo');
);


$('#b').click(function() 
    $('#a').trigger('click.foo');
);​

现在,当点击 #a 时,两个点击处理程序(foo 和 bar)都会引发, 但是当点击#b 时,只会引发 foo。

【讨论】:

那么,点击不再是指点击事件了? 如果click.xxx 不再是click 事件,那么当点击控件时,里面的函数怎么仍然执行?它一定还在以某种方式引用click 事件? +1 顺便指出文档。我从来没有意识到检查文档,因为我认为以前的开发人员做了一些与on() 无关的自定义操作。我想我现在明白了。非常感谢您的快速答复。 (尝试 +1,但还不能,只有 15 代表,抱歉,虽然达到 15,但会回来的 :)) @Jason。其实我对触发器的看法是不对的。检查this demo。 演示中不错的一个。我想我现在明白了。似乎您可以将多个事件附加到同一个元素,通过使用命名空间将它们分开。我检查了$("#a").data("events"),发现附加了多个点击事件,还有一个名为namespace 的属性,其中包含文本bar 用于一个事件,foo 用于另一个click 事件。再次感谢您的帮助。

以上是关于在jquery中,用 $. 和 $().有啥区别,它们分别的含义是啥?的主要内容,如果未能解决你的问题,请参考以下文章

jQuery中的parent()和parents()有啥区别呢?

JSON和AJAX与jQuery有啥区别?

jQuery(function($) ) 与 $(document).ready(function()) 有啥区别??

jQuery与jQuery UI有什么区别?

jquery里面.length和.size()有啥区别

jquery.min.js与jquery.js有啥区别