javascript - 库方法如何在 javascript 中工作?
问题描述
我对 javascript 有点陌生,并且一直在使用库/css 框架来构建一些我只是为了好玩而构建的网站。要使用框架创建者提供的某些功能,文档说要调用 jQuery 对象上的方法,例如$('.my-class').someMethod()
. 例如,以下是如何在您想要的任何输入字段上初始化 Materialize 的自动完成功能:
$(document).ready(function(){
$('input.autocomplete').autocomplete({
data: {
"Apple": null,
"Microsoft": null,
"Google": 'https://placehold.it/250x250'
},
});
});
现在,我的理解是,当您运行:时$('input.autocomplete')
,jQuery 将返回一个“jQuery 对象”,如此处所述。
所以我在浏览器中用一个虚拟页面运行了一个测试,并将这个对象记录到控制台,它返回了一个包含一个元素的数组——我搜索的 div 元素:
我猜上图中的所有紫色文本都是 jQuery 对象的属性。
现在我的问题是:我怎么可能调用.autocomplete()
这个对象?jQuery 对象中不存在 .autocomplete() 方法,那么为什么这不会引发错误呢?
我很难理解如何.autocomplete()
在几乎任何 jQuery 对象上运行......它怎么知道在哪里可以找到这个方法?我想使用点表示法,它需要是您将其链接到的类中的一个方法。
解决方案
我怎么可能在这个对象上调用 .autocomplete() ?jQuery 对象中不存在 .autocomplete() 方法,那么为什么这不会引发错误呢?
jQuery 插件可以将自己的函数添加到 jQuery 对象中,请参阅jQuery.fn.extend
了解更多信息。
此方法来自您可能尚未安装的 jQuery 插件。如果没有更多信息,就不可能分辨出哪一个,但有很多选择。
请注意,控制台内的这个视图也不会显示所有 jQuery 方法。这是查找可以在任何对象上调用的可用方法和属性的更好方法:
推荐阅读
- php - htaccess 模板用路径中的完整 url 重写
- r - 使用距离公式调整坐标
- stm32 - STM32 WFI被调用后立即退出
- actions-on-google - 对 Google 采取行动阻止成人关键字
- netlogo - 如何修复意外保存在 NetLogo 3D 中的(2D)NetLogo 模型?
- iphone - 如何将设备系列更改为仅 iPhone?
- javascript - Readmore 选项在某些字符后自动显示
- gnuplot - 使用 gnuplot,如何创建等高线图的 eps 文件?
- java - 错误 SparkContext:初始化 SparkContext 时出错 - Java + Eclipse + Spark
- javascript - 使用地图功能时如何将每个状态动态绑定到每个复选框